{"id":40312,"name":"pure-rand","ecosystem":"npm","repository_url":"https://github.com/dubzzz/pure-rand","issues_count":11,"created_at":"2025-06-10T04:49:06.470Z","updated_at":"2025-06-10T04:49:06.470Z","purl":"pkg:npm/pure-rand","metadata":{"id":2204023,"name":"pure-rand","ecosystem":"npm","description":" Pure random number generator written in TypeScript","homepage":"https://github.com/dubzzz/pure-rand#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/dubzzz/pure-rand","keywords_array":["seed","random","prng","generator","pure","rand","mersenne","random number generator","fastest","fast"],"namespace":null,"versions_count":45,"first_release_published_at":"2018-03-01T21:13:58.048Z","latest_release_published_at":"2025-02-07T01:10:22.493Z","latest_release_number":"7.0.1","last_synced_at":"2025-06-10T06:38:57.251Z","created_at":"2022-04-09T22:27:13.265Z","updated_at":"2025-06-10T06:39:02.309Z","registry_url":"https://www.npmjs.com/package/pure-rand","install_command":"npm install pure-rand","documentation_url":null,"metadata":{"funding":[{"type":"individual","url":"https://github.com/sponsors/dubzzz"},{"type":"opencollective","url":"https://opencollective.com/fast-check"}],"dist-tags":{"next":"3.0.0-alpha.2.0.0.2","experimental":"5.0.0-experimental.4.2.1.0","latest":"7.0.1"}},"repo_metadata":{"id":30163502,"uuid":"123474692","full_name":"dubzzz/pure-rand","owner":"dubzzz","description":"Pure random number generator written in TypeScript","archived":false,"fork":false,"pushed_at":"2025-06-10T05:54:43.000Z","size":16183,"stargazers_count":86,"open_issues_count":13,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-10T06:33:25.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/dubzzz.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"fast-check","github":["dubzzz"]}},"created_at":"2018-03-01T18:17:39.000Z","updated_at":"2025-05-03T20:46:07.000Z","dependencies_parsed_at":"2024-02-04T07:26:43.753Z","dependency_job_id":"19ebfc23-6535-4003-8c6f-95d881d1b607","html_url":"https://github.com/dubzzz/pure-rand","commit_stats":{"total_commits":732,"total_committers":4,"mean_commits":183.0,"dds":0.6161202185792349,"last_synced_commit":"82861be533f71e5fbfa4f1313d80ac7b536a0668"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dubzzz","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259024880,"owners_count":22794410,"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":"dubzzz","name":"Nicolas DUBIEN","uuid":"5300235","kind":"user","description":"","email":"","website":"https://fast-check.dev/","location":"Remote, France","twitter":"ndubien","company":"Pigment","icon_url":"https://avatars.githubusercontent.com/u/5300235?u=283a572a5010b5350eee7168cf6ce1b566747903\u0026v=4","repositories_count":192,"last_synced_at":"2025-06-04T22:27:45.292Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/dubzzz","funding_links":["https://github.com/sponsors/dubzzz"],"total_stars":4963,"followers":283,"following":91,"created_at":"2022-11-02T16:29:21.600Z","updated_at":"2025-06-04T22:27:45.292Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dubzzz","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dubzzz/repositories"},"tags":[{"name":"v7.0.1","sha":"2248506b66d969d1a8b477a4dde8e24cbac33e6a","kind":"tag","published_at":"2025-02-07T01:08:51.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v7.0.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v7.0.1/manifests"},{"name":"v7.0.0","sha":"a2db85918869e4a0e7b0c305ab2243cd22fe57c5","kind":"tag","published_at":"2025-02-06T23:16:18.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v7.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v7.0.0/manifests"},{"name":"v6.1.0","sha":"a413dd2b721516be2ef29adffb515c5ae67bfbad","kind":"tag","published_at":"2024-03-20T21:27:59.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v6.1.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.1.0/manifests"},{"name":"v6.0.4","sha":"bcf9517d53f733a335e678fbba321780c0543b29","kind":"tag","published_at":"2023-09-27T17:05:11.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v6.0.4","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v6.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.4/manifests"},{"name":"v6.0.3","sha":"f08d09cf81cb6fcf00892c43283d16d25a7b75f4","kind":"tag","published_at":"2023-09-04T20:04:31.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v6.0.3","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v6.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.3/manifests"},{"name":"v6.0.2","sha":"ad3183ba9b712bc6c1c5a9abbb1d1e641db139d4","kind":"tag","published_at":"2023-04-25T07:04:26.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v6.0.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.2/manifests"},{"name":"v6.0.1","sha":"349e8d3113633ba2bbbb5a6ec129b7f665dd3112","kind":"tag","published_at":"2023-03-12T21:01:09.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v6.0.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.1/manifests"},{"name":"v6.0.0","sha":"5ea165aaca006e5d548883ccce3ca222b15b6553","kind":"tag","published_at":"2023-01-12T22:10:41.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v6.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v6.0.0/manifests"},{"name":"v5.0.5","sha":"8b812d9651b4a18e9115aa13d84fe1b5eb9b068d","kind":"tag","published_at":"2022-11-22T20:08:16.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.5","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.5/manifests"},{"name":"v5.0.4","sha":"c213e129750c22696bdb013ce113aee96b02a298","kind":"tag","published_at":"2022-11-22T19:55:19.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.4","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.4/manifests"},{"name":"v5.0.3","sha":"f95aa1f9a3f4c9f9820eb2e7a2d94bbc2d3b78c1","kind":"tag","published_at":"2022-09-08T22:00:57.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.3","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.3/manifests"},{"name":"v5.0.2","sha":"947f17ef4b6cbc737e3f763fa30bfc0374b4e571","kind":"tag","published_at":"2022-09-08T21:49:48.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.2/manifests"},{"name":"v5.0.1","sha":"229c91e5c41acd30afc2cccabe9ba93c99db5df7","kind":"tag","published_at":"2022-03-17T19:09:10.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.1/manifests"},{"name":"v5.0.0","sha":"744555855a01e1551ab1cf67a6ea973d14964661","kind":"tag","published_at":"2021-06-11T07:14:19.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0/manifests"},{"name":"v5.0.0-experimental.4.2.1.0","sha":"79947a7e4a6f559b63836d8bccaf82be474b96ad","kind":"tag","published_at":"2021-06-07T22:52:41.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.0-experimental.4.2.1.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.0-experimental.4.2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0-experimental.4.2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0-experimental.4.2.1.0/manifests"},{"name":"v4.2.1","sha":"4be6b94d9dfe1d178633c7c67e67e509b59e45a6","kind":"tag","published_at":"2021-06-07T17:53:00.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v4.2.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"6c59d84a03be0a8f6064254b035d33d2e41080f2","kind":"tag","published_at":"2021-06-05T18:47:16.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v4.2.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.2.0/manifests"},{"name":"v5.0.0-experimental.4.1.2.1","sha":"e840bb8f83347a977dea31974e0515d5f9082887","kind":"tag","published_at":"2021-06-05T18:31:05.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.0-experimental.4.1.2.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.0-experimental.4.1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0-experimental.4.1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0-experimental.4.1.2.1/manifests"},{"name":"v5.0.0-experimental.4.1.2.0","sha":"dba3431a7ecc95f2d2def4c250460482d5fb7844","kind":"tag","published_at":"2021-06-03T19:36:15.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v5.0.0-experimental.4.1.2.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v5.0.0-experimental.4.1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0-experimental.4.1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v5.0.0-experimental.4.1.2.0/manifests"},{"name":"v4.1.2","sha":"30bd5a9d5c20a1e998e489e3e00125edbc60b973","kind":"tag","published_at":"2021-01-25T19:04:54.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v4.1.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v4.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.1.2/manifests"},{"name":"v4.1.1","sha":"e008d06171f5a182f791dff211b8e2efc70ba14a","kind":"tag","published_at":"2020-11-29T17:23:03.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v4.1.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"8db62366f7f940877b393e062b97a5aa176b10b8","kind":"tag","published_at":"2020-11-22T18:30:44.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v4.1.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.1.0/manifests"},{"name":"v4.0.0","sha":"277d25ab00fc6fee8e0a7bdf3d737686ecb1d043","kind":"tag","published_at":"2020-11-05T21:00:06.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v4.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v4.0.0/manifests"},{"name":"v3.1.0","sha":"062041a39eff50db57ad3dd3a3742a4f11e53cb9","kind":"tag","published_at":"2020-08-10T19:41:21.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v3.1.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.1.0/manifests"},{"name":"v3.0.0","sha":"6e86aa2029ba41ffeedc147ed076e7a346f3428a","kind":"tag","published_at":"2020-07-10T06:53:42.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v3.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0/manifests"},{"name":"v3.0.0-alpha.2.0.0.2","sha":"d6bb7c841052798a89b0b86e1172280928d0972a","kind":"tag","published_at":"2020-04-05T10:06:45.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v3.0.0-alpha.2.0.0.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v3.0.0-alpha.2.0.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0-alpha.2.0.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0-alpha.2.0.0.2/manifests"},{"name":"v3.0.0-alpha.2.0.0.1","sha":"e85f57820a403c3a75274bca8084a0271bae400b","kind":"tag","published_at":"2020-04-04T22:25:24.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v3.0.0-alpha.2.0.0.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v3.0.0-alpha.2.0.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0-alpha.2.0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0-alpha.2.0.0.1/manifests"},{"name":"v3.0.0-alpha.2.0.0.0","sha":"b170a5a5599704ed151d804c7c09093026dc0b89","kind":"tag","published_at":"2020-04-04T21:51:37.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v3.0.0-alpha.2.0.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v3.0.0-alpha.2.0.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0-alpha.2.0.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v3.0.0-alpha.2.0.0.0/manifests"},{"name":"v2.0.0","sha":"68eda900316c01ecec84f030eaea83047baecd88","kind":"tag","published_at":"2020-01-23T22:06:27.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v2.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v2.0.0/manifests"},{"name":"v1.7.0","sha":"9568618439327808f1df5367acb874374fe46c1f","kind":"commit","published_at":"2019-10-21T20:54:48.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.7.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.7.0/manifests"},{"name":"v1.6.2","sha":"dff7fefa980c6380b288defeba0a9a636ad9e60a","kind":"tag","published_at":"2019-01-03T20:26:43.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.6.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.6.2/manifests"},{"name":"v1.6.1","sha":"0c42d7657497382653cf5bc177621f5d81dfa7a7","kind":"tag","published_at":"2019-01-03T01:38:52.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.6.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.6.1/manifests"},{"name":"v1.6.0","sha":"73be107fd5e225b2d21502d4fb72ae3b50cb6b9e","kind":"tag","published_at":"2018-12-16T02:26:36.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.6.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.6.0/manifests"},{"name":"v1.5.0","sha":"6a67315545c5581c5faeab6b2dab4c12d699d586","kind":"tag","published_at":"2018-10-12T22:18:17.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.5.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.5.0/manifests"},{"name":"v1.4.2","sha":"5f36e2081080b3b0a2ad12cd0154e0e5ee519357","kind":"tag","published_at":"2018-10-07T21:20:28.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.4.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.4.2/manifests"},{"name":"v1.4.1","sha":"ca0dc43fb774aebf7e57805d8f8a32793cb5e1d2","kind":"tag","published_at":"2018-10-06T10:13:57.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.4.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.4.1/manifests"},{"name":"v1.4.0","sha":"76c7acf6b5fe3d86eff89cc35396b1ccaba14a33","kind":"tag","published_at":"2018-10-05T23:15:09.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.4.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.4.0/manifests"},{"name":"v1.3.2","sha":"300f68743385fdfc4956890d9ea2b0022d1c9d2c","kind":"tag","published_at":"2018-09-30T11:06:41.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.3.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.3.2/manifests"},{"name":"v1.3.1","sha":"1ab12854f882f081700362fcad08378fb7ad3475","kind":"tag","published_at":"2018-09-29T23:55:20.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.3.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.3.1/manifests"},{"name":"v1.3.0","sha":"c2cd2c29deb3b9eeb6b8d43fbc328440a9cb8266","kind":"tag","published_at":"2018-09-29T23:34:22.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.3.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.3.0/manifests"},{"name":"v1.2.0","sha":"9a44366fcfb5a6f6d32f2d98bfd77bc9af3e59e1","kind":"tag","published_at":"2018-08-17T00:16:36.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.2.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.2.0/manifests"},{"name":"v1.1.1","sha":"1aa9796f0dca92247151533c57b8a268ac28e1da","kind":"tag","published_at":"2018-05-30T18:07:40.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.1.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.1.1/manifests"},{"name":"v1.1.0","sha":"e00da8a12d5af1b3efa248f2f7965ebc9cc8c9fc","kind":"tag","published_at":"2018-05-21T20:43:30.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.1.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.1.0/manifests"},{"name":"v1.0.2","sha":"fde84d9070787a67f7ef25b75f8dd66682186af1","kind":"tag","published_at":"2018-03-06T19:32:50.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.0.2","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.0.2/manifests"},{"name":"v1.0.1","sha":"a3b2f3c7adb41a42262f03f8b94ef61017ee4f2c","kind":"tag","published_at":"2018-03-06T19:06:48.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.0.1","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.0.1/manifests"},{"name":"v1.0.0","sha":"193dd5c3cc60690dfd3d654b70f3cca907e17f30","kind":"tag","published_at":"2018-03-06T18:51:27.000Z","download_url":"https://codeload.github.com/dubzzz/pure-rand/tar.gz/v1.0.0","html_url":"https://github.com/dubzzz/pure-rand/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dubzzz%2Fpure-rand/tags/v1.0.0/manifests"}]},"repo_metadata_updated_at":"2025-06-10T06:39:02.309Z","dependent_packages_count":105,"downloads":83568522,"downloads_period":"last-month","dependent_repos_count":60919,"rankings":{"downloads":0.03455334192694843,"dependent_repos_count":0.12446869445317556,"dependent_packages_count":0.3473953426353584,"stargazers_count":5.729803818062144,"forks_count":11.349324799586455,"docker_downloads_count":0.2238848470179535,"average":2.9682384739470056},"purl":"pkg:npm/pure-rand","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/pure-rand","docker_dependents_count":2317,"docker_downloads_count":1331951692,"usage_url":"https://repos.ecosyste.ms/usage/npm/pure-rand","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/pure-rand/dependencies","status":null,"funding_links":["https://github.com/sponsors/dubzzz","https://opencollective.com/fast-check"],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/pure-rand/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/pure-rand/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/pure-rand/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/pure-rand/related_packages","maintainers":[{"uuid":"ndubien","login":"ndubien","name":null,"email":"npm@dubien.org","url":null,"packages_count":15,"html_url":"https://www.npmjs.com/~ndubien","role":null,"created_at":"2022-11-10T20:40:41.891Z","updated_at":"2022-11-10T20:40:41.891Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/ndubien/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5011363,"maintainers_count":1014075,"namespaces_count":296168,"keywords_count":701797,"github":"npm","metadata":{"funded_packages_count":150471},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-06-10T05:44:38.006Z","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":9,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4480322489","node_id":"PR_kwDOODlR787dN0aA","number":591,"state":"open","title":"deps(deps): bump the security-updates group across 1 directory with 102 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["ken-guru"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T19:19:37.000Z","updated_at":"2026-05-19T21:18:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"security-updates","update_count":102,"packages":[{"name":"@vercel/blob","old_version":"2.3.3","new_version":"2.4.0","repository_url":"https://github.com/vercel/storage"},{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"cypress","old_version":"15.14.2","new_version":"15.15.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"fast-check","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/dubzzz/fast-check"},{"name":"lru-cache","old_version":"5.1.1","new_version":"10.4.3","repository_url":"https://github.com/isaacs/node-lru-cache"},{"name":"json5","old_version":"1.0.2","new_version":"2.2.3","repository_url":"https://github.com/json5/json5"},{"name":"semver","old_version":"6.3.1","new_version":"7.8.0","repository_url":"https://github.com/npm/node-semver"},{"name":"debug","old_version":"3.2.7","new_version":"4.4.3","repository_url":"https://github.com/debug-js/debug"},{"name":"eslint-visitor-keys","old_version":"3.4.3","new_version":"5.0.1","repository_url":"https://github.com/eslint/js"},{"name":"ansi-regex","old_version":"5.0.1","new_version":"6.2.2","repository_url":"https://github.com/chalk/ansi-regex"},{"name":"string-width","old_version":"4.2.3","new_version":"8.2.1","repository_url":"https://github.com/sindresorhus/string-width"},{"name":"strip-ansi","old_version":"6.0.1","new_version":"7.2.0","repository_url":"https://github.com/chalk/strip-ansi"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"ansi-styles","old_version":"4.3.0","new_version":"6.2.3","repository_url":"https://github.com/chalk/ansi-styles"},{"name":"pretty-format","old_version":"27.5.1","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@restart/hooks","old_version":"0.4.16","new_version":"0.5.1","repository_url":"https://github.com/react-restart/hooks"},{"name":"uncontrollable","old_version":"7.2.1","new_version":"8.0.4","repository_url":"https://github.com/jquense/uncontrollable"},{"name":"@sinclair/typebox","old_version":"0.27.10","new_version":"0.34.49","repository_url":"https://github.com/sinclairzx81/sinclair-typebox"},{"name":"aria-query","old_version":"5.3.0","new_version":"5.3.2","repository_url":"https://github.com/A11yance/aria-query"},{"name":"dom-accessibility-api","old_version":"0.5.16","new_version":"0.6.3","repository_url":"https://github.com/eps1lon/dom-accessibility-api"},{"name":"axe-core","old_version":"3.5.6","new_version":"4.11.4","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"react-is","old_version":"16.13.1","new_version":"18.3.1","repository_url":"https://github.com/facebook/react"},{"name":"ignore","old_version":"5.3.2","new_version":"7.0.5","repository_url":"https://github.com/kaelzhang/node-ignore"},{"name":"throttleit","old_version":"1.0.1","new_version":"2.1.0","repository_url":"https://github.com/sindresorhus/throttleit"},{"name":"ansi-escapes","old_version":"4.3.2","new_version":"7.3.0","repository_url":"https://github.com/sindresorhus/ansi-escapes"},{"name":"balanced-match","old_version":"1.0.2","new_version":"4.0.4","repository_url":"https://github.com/juliangruber/balanced-match"},{"name":"baseline-browser-mapping","old_version":"2.10.29","new_version":"2.10.31","repository_url":"https://github.com/web-platform-dx/baseline-browser-mapping"},{"name":"brace-expansion","old_version":"1.1.14","new_version":"5.0.6","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"caniuse-lite","old_version":"1.0.30001792","new_version":"1.0.30001793","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"wrap-ansi","old_version":"7.0.0","new_version":"9.0.2","repository_url":"https://github.com/chalk/wrap-ansi"},{"name":"execa","old_version":"4.1.0","new_version":"5.1.1","repository_url":"https://github.com/sindresorhus/execa"},{"name":"get-stream","old_version":"5.2.0","new_version":"6.0.1","repository_url":"https://github.com/sindresorhus/get-stream"},{"name":"human-signals","old_version":"1.1.1","new_version":"2.1.0","repository_url":"https://github.com/ehmicky/human-signals"},{"name":"supports-color","old_version":"7.2.0","new_version":"8.1.1","repository_url":"https://github.com/chalk/supports-color"},{"name":"tslib","old_version":"1.14.1","new_version":"2.8.1","repository_url":"https://github.com/Microsoft/tslib"},{"name":"electron-to-chromium","old_version":"1.5.353","new_version":"1.5.359","repository_url":"https://github.com/Kilian/electron-to-chromium"},{"name":"emoji-regex","old_version":"8.0.0","new_version":"10.6.0","repository_url":"https://github.com/mathiasbynens/emoji-regex"},{"name":"minimatch","old_version":"3.1.5","new_version":"10.2.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"pure-rand","old_version":"7.0.1","new_version":"8.4.0","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"glob-parent","old_version":"5.1.2","new_version":"6.0.2","repository_url":"https://github.com/gulpjs/glob-parent"},{"name":"signal-exit","old_version":"3.0.7","new_version":"4.1.0","repository_url":"https://github.com/tapjs/signal-exit"},{"name":"type-fest","old_version":"0.8.1","new_version":"0.21.3","repository_url":"https://github.com/sindresorhus/type-fest"},{"name":"is-fullwidth-code-point","old_version":"3.0.0","new_version":"5.1.0","repository_url":"https://github.com/sindresorhus/is-fullwidth-code-point"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.2.2","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"picomatch","old_version":"2.3.2","new_version":"4.0.4","repository_url":"https://github.com/micromatch/picomatch"},{"name":"strip-bom","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/sindresorhus/strip-bom"},{"name":"slice-ansi","old_version":"7.1.2","new_version":"8.0.0","repository_url":"https://github.com/chalk/slice-ansi"},{"name":"typescript-eslint","old_version":"8.59.3","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"unrs-resolver","old_version":"1.11.1","new_version":"1.12.2","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"yallist","old_version":"3.1.1","new_version":"4.0.0","repository_url":"https://github.com/isaacs/yallist"}],"path":null,"ecosystem":"npm"},"body":"Bumps the security-updates group with 52 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@vercel/blob](https://github.com/vercel/storage/tree/HEAD/packages/blob) | `2.3.3` | `2.4.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.1` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.14.2` | `15.15.0` |\n| [fast-check](https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check) | `4.7.0` | `4.8.0` |\n| [lru-cache](https://github.com/isaacs/node-lru-cache) | `5.1.1` | `10.4.3` |\n| [json5](https://github.com/json5/json5) | `1.0.2` | `2.2.3` |\n| [semver](https://github.com/npm/node-semver) | `6.3.1` | `7.8.0` |\n| [debug](https://github.com/debug-js/debug) | `3.2.7` | `4.4.3` |\n| [eslint-visitor-keys](https://github.com/eslint/js/tree/HEAD/packages/eslint-visitor-keys) | `3.4.3` | `5.0.1` |\n| [ansi-regex](https://github.com/chalk/ansi-regex) | `5.0.1` | `6.2.2` |\n| [string-width](https://github.com/sindresorhus/string-width) | `4.2.3` | `8.2.1` |\n| [strip-ansi](https://github.com/chalk/strip-ansi) | `6.0.1` | `7.2.0` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.4.1` |\n| [ansi-styles](https://github.com/chalk/ansi-styles) | `4.3.0` | `6.2.3` |\n| [pretty-format](https://github.com/jestjs/jest/tree/HEAD/packages/pretty-format) | `27.5.1` | `30.4.1` |\n| [@restart/hooks](https://github.com/react-restart/hooks) | `0.4.16` | `0.5.1` |\n| [uncontrollable](https://github.com/jquense/uncontrollable) | `7.2.1` | `8.0.4` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/sinclair-typebox) | `0.27.10` | `0.34.49` |\n| [aria-query](https://github.com/A11yance/aria-query) | `5.3.0` | `5.3.2` |\n| [dom-accessibility-api](https://github.com/eps1lon/dom-accessibility-api) | `0.5.16` | `0.6.3` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `3.5.6` | `4.11.4` |\n| [react-is](https://github.com/facebook/react/tree/HEAD/packages/react-is) | `16.13.1` | `18.3.1` |\n| [ignore](https://github.com/kaelzhang/node-ignore) | `5.3.2` | `7.0.5` |\n| [throttleit](https://github.com/sindresorhus/throttleit) | `1.0.1` | `2.1.0` |\n| [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) | `4.3.2` | `7.3.0` |\n| [balanced-match](https://github.com/juliangruber/balanced-match) | `1.0.2` | `4.0.4` |\n| [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.10.29` | `2.10.31` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.14` | `5.0.6` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001792` | `1.0.30001793` |\n| [wrap-ansi](https://github.com/chalk/wrap-ansi) | `7.0.0` | `9.0.2` |\n| [execa](https://github.com/sindresorhus/execa) | `4.1.0` | `5.1.1` |\n| [get-stream](https://github.com/sindresorhus/get-stream) | `5.2.0` | `6.0.1` |\n| [human-signals](https://github.com/ehmicky/human-signals) | `1.1.1` | `2.1.0` |\n| [supports-color](https://github.com/chalk/supports-color) | `7.2.0` | `8.1.1` |\n| [tslib](https://github.com/Microsoft/tslib) | `1.14.1` | `2.8.1` |\n| [electron-to-chromium](https://github.com/Kilian/electron-to-chromium) | `1.5.353` | `1.5.359` |\n| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | `8.0.0` | `10.6.0` |\n| [minimatch](https://github.com/isaacs/minimatch) | `3.1.5` | `10.2.5` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `7.0.1` | `8.4.0` |\n| [glob-parent](https://github.com/gulpjs/glob-parent) | `5.1.2` | `6.0.2` |\n| [signal-exit](https://github.com/tapjs/signal-exit) | `3.0.7` | `4.1.0` |\n| [type-fest](https://github.com/sindresorhus/type-fest) | `0.8.1` | `0.21.3` |\n| [is-fullwidth-code-point](https://github.com/sindresorhus/is-fullwidth-code-point) | `3.0.0` | `5.1.0` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.4.1` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.2.2` | `30.4.1` |\n| [picomatch](https://github.com/micromatch/picomatch) | `2.3.2` | `4.0.4` |\n| [strip-bom](https://github.com/sindresorhus/strip-bom) | `3.0.0` | `4.0.0` |\n| [slice-ansi](https://github.com/chalk/slice-ansi) | `7.1.2` | `8.0.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.3` | `8.59.4` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.11.1` | `1.12.2` |\n| [yallist](https://github.com/isaacs/yallist) | `3.1.1` | `4.0.0` |\n\n\nUpdates `@vercel/blob` from 2.3.3 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/storage/releases\"\u003e@​vercel/blob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​vercel/blob\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e20eeaff: Add Vercel OIDC auth and presigned URLs\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/vercel/storage/blob/main/packages/blob/CHANGELOG.md\"\u003e@​vercel/blob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e20eeaff: Add Vercel OIDC auth and presigned URLs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/storage/commit/db13e9490529f750849bddd539e5ba63b36bf014\"\u003e\u003ccode\u003edb13e94\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/storage/tree/HEAD/packages/blob/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/storage/commit/20eeaffead76d8e1a0e8a11108cca5a4e0596974\"\u003e\u003ccode\u003e20eeaff\u003c/code\u003e\u003c/a\u003e Add Vercel OIDC auth and Presigned URLs (\u003ca href=\"https://github.com/vercel/storage/tree/HEAD/packages/blob/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/storage/commit/171f08d6429f15d063d74c8275f17ebf81ef7be0\"\u003e\u003ccode\u003e171f08d\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to v24.12.2 (\u003ca href=\"https://github.com/vercel/storage/tree/HEAD/packages/blob/issues/1046\"\u003e#1046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/storage/commits/@vercel/blob@2.4.0/packages/blob\"\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@​vercel/blob\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 `@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 `cypress` from 15.14.2 to 15.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/cypress/releases\"\u003ecypress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev15.15.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-15-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-15-0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/914ad901d9d50e2c744769a445643702ceca774b\"\u003e\u003ccode\u003e914ad90\u003c/code\u003e\u003c/a\u003e chore: narrow CYPRESS_COMMERCIAL_RECOMMENDATIONS override; deflake no-branch ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/1b11ad2663f5e097a3d9c08e4e25d576c2074b05\"\u003e\u003ccode\u003e1b11ad2\u003c/code\u003e\u003c/a\u003e chore(ci): commit v8 snapshot updates via GitHub API (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33774\"\u003e#33774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/0f864f68aa2f2b005b50fc8367c9a6467a57753c\"\u003e\u003ccode\u003e0f864f6\u003c/code\u003e\u003c/a\u003e internal: cloud-driven app messaging banner (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33757\"\u003e#33757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/6299c146fb0c5f3aec241a0996eac57a12a924a7\"\u003e\u003ccode\u003e6299c14\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - windows (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33776\"\u003e#33776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/b9575f01e99ca24456d06d32a3b354bba84828e8\"\u003e\u003ccode\u003eb9575f0\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - linux (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33764\"\u003e#33764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/302747ded21c37debb26ab8a1d42b066283cc76d\"\u003e\u003ccode\u003e302747d\u003c/code\u003e\u003c/a\u003e fix(server): retry BiDi sessionSubscribe when Firefox connection not ready (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/73a3e0e749dae3b0c80ea78dc2687a07672ee2a1\"\u003e\u003ccode\u003e73a3e0e\u003c/code\u003e\u003c/a\u003e fix: serialize ProjectLifecycleManager.refreshLifecycle to avoid IPC race (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/0f2d3859413656c07ed555a18123e92914f3c426\"\u003e\u003ccode\u003e0f2d385\u003c/code\u003e\u003c/a\u003e test(system-tests): add Node.js 26 binary smoke coverage (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33780\"\u003e#33780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/e08ac5ed711ba44d8aacad7482181e80617f07bb\"\u003e\u003ccode\u003ee08ac5e\u003c/code\u003e\u003c/a\u003e chore(ci): enable Snyk scans on fork PRs via approval-gated environment (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33773\"\u003e#33773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/e429e13b252f54fb5fe0b877633e22c9e1be1ae9\"\u003e\u003ccode\u003ee429e13\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - darwin (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33772\"\u003e#33772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cypress-io/cypress/compare/v15.14.2...v15.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-check` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dubzzz/fast-check/releases\"\u003efast-check's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNew arbitrary to chain in a loop fashion\u003c/h2\u003e\n\u003cp\u003e[\u003ca href=\"https://github.com/dubzzz/fast-check/tree/v4.8.0\"\u003eCode\u003c/a\u003e][\u003ca href=\"https://github.com/dubzzz/fast-check/compare/v4.7.0...v4.8.0\"\u003eDiff\u003c/a\u003e]\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6678\"\u003ePR#6678\u003c/a\u003e) Add \u003ccode\u003echainUntil\u003c/code\u003e arbitrary for iterative chaining\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6965\"\u003ePR#6965\u003c/a\u003e) Bug: Restore ability not to use \u003ccode\u003eskipLibCheck\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6877\"\u003ePR#6877\u003c/a\u003e) CI: Lowercase discussion_category_name to \u0026quot;announcements\u0026quot;\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6878\"\u003ePR#6878\u003c/a\u003e) CI: Scope permissions of clean-caches\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6880\"\u003ePR#6880\u003c/a\u003e) CI: Add PR-authoring guidance for Claude\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6887\"\u003ePR#6887\u003c/a\u003e) CI: Delete CLAUDE.md\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6888\"\u003ePR#6888\u003c/a\u003e) CI: Use tilde ranges for security dependency overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6891\"\u003ePR#6891\u003c/a\u003e) CI: Disable Renovate updates on pnpm overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6899\"\u003ePR#6899\u003c/a\u003e) CI: Scope Claude hooks to \u003ccode\u003e$CLAUDE_PROJECT_DIR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6905\"\u003ePR#6905\u003c/a\u003e) CI: Enable pnpm global virtual store\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6933\"\u003ePR#6933\u003c/a\u003e) CI: Pin pnpm in npm install commands\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6932\"\u003ePR#6932\u003c/a\u003e) CI: Grant \u003ccode\u003ediscussions: write\u003c/code\u003e to release jobs\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6935\"\u003ePR#6935\u003c/a\u003e) CI: Skip PR template check for dubzzz\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6937\"\u003ePR#6937\u003c/a\u003e) CI: Mirror the repo to tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6938\"\u003ePR#6938\u003c/a\u003e) CI: Add missing runs-on for tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6889\"\u003ePR#6889\u003c/a\u003e) Doc: Add release notes for fast-check 4.7.0\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6900\"\u003ePR#6900\u003c/a\u003e) Doc: Fix broken API reference links\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6844\"\u003ePR#6844\u003c/a\u003e) Doc: Extract manual setup guide into dedicated page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6845\"\u003ePR#6845\u003c/a\u003e) Doc: Add index pages for documentation sections\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6918\"\u003ePR#6918\u003c/a\u003e) Doc: Fix Documentation link to point to first doc page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6939\"\u003ePR#6939\u003c/a\u003e) Doc: Link to Tangled mirror of fast-check\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6934\"\u003ePR#6934\u003c/a\u003e) Test: Tolerate \u003ccode\u003e\\p{...}\u003c/code\u003e value drift in docs tests\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6951\"\u003ePR#6951\u003c/a\u003e) Test: Fix poisoning tests for latest Node\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\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/dubzzz/fast-check/blob/main/packages/fast-check/CHANGELOG.md\"\u003efast-check's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.8.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003eNew arbitrary to chain in a loop fashion\u003c/em\u003e\n[\u003ca href=\"https://github.com/dubzzz/fast-check/tree/v4.8.0\"\u003eCode\u003c/a\u003e][\u003ca href=\"https://github.com/dubzzz/fast-check/compare/v4.7.0...v4.8.0\"\u003eDiff\u003c/a\u003e]\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6678\"\u003ePR#6678\u003c/a\u003e) Add \u003ccode\u003echainUntil\u003c/code\u003e arbitrary for iterative chaining\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6965\"\u003ePR#6965\u003c/a\u003e) Bug: Restore ability not to use \u003ccode\u003eskipLibCheck\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6877\"\u003ePR#6877\u003c/a\u003e) CI: Lowercase discussion_category_name to \u0026quot;announcements\u0026quot;\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6878\"\u003ePR#6878\u003c/a\u003e) CI: Scope permissions of clean-caches\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6880\"\u003ePR#6880\u003c/a\u003e) CI: Add PR-authoring guidance for Claude\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6887\"\u003ePR#6887\u003c/a\u003e) CI: Delete CLAUDE.md\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6888\"\u003ePR#6888\u003c/a\u003e) CI: Use tilde ranges for security dependency overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6891\"\u003ePR#6891\u003c/a\u003e) CI: Disable Renovate updates on pnpm overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6899\"\u003ePR#6899\u003c/a\u003e) CI: Scope Claude hooks to \u003ccode\u003e$CLAUDE_PROJECT_DIR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6905\"\u003ePR#6905\u003c/a\u003e) CI: Enable pnpm global virtual store\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6933\"\u003ePR#6933\u003c/a\u003e) CI: Pin pnpm in npm install commands\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6932\"\u003ePR#6932\u003c/a\u003e) CI: Grant \u003ccode\u003ediscussions: write\u003c/code\u003e to release jobs\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6935\"\u003ePR#6935\u003c/a\u003e) CI: Skip PR template check for dubzzz\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6937\"\u003ePR#6937\u003c/a\u003e) CI: Mirror the repo to tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6938\"\u003ePR#6938\u003c/a\u003e) CI: Add missing runs-on for tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6889\"\u003ePR#6889\u003c/a\u003e) Doc: Add release notes for fast-check 4.7.0\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6900\"\u003ePR#6900\u003c/a\u003e) Doc: Fix broken API reference links\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6844\"\u003ePR#6844\u003c/a\u003e) Doc: Extract manual setup guide into dedicated page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6845\"\u003ePR#6845\u003c/a\u003e) Doc: Add index pages for documentation sections\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6918\"\u003ePR#6918\u003c/a\u003e) Doc: Fix Documentation link to point to first doc page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6939\"\u003ePR#6939\u003c/a\u003e) Doc: Link to Tangled mirror of fast-check\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6934\"\u003ePR#6934\u003c/a\u003e) Test: Tolerate \u003ccode\u003e\\p{...}\u003c/code\u003e value drift in docs tests\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6951\"\u003ePR#6951\u003c/a\u003e) Test: Fix poisoning tests for latest Node\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/c0da76fbcf6470339ad7bb2f0dfcebee06ede56c\"\u003e\u003ccode\u003ec0da76f\u003c/code\u003e\u003c/a\u003e 🔖 Update CHANGELOG.md for fast-check@4.8.0, \u003ccode\u003e@​fast-check/ava\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.1 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6967\"\u003e#6967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/df6f4c10d903fd525198b58cb4e84fa6c1887515\"\u003e\u003ccode\u003edf6f4c1\u003c/code\u003e\u003c/a\u003e 🐛 Restore ability not to use \u003ccode\u003eskipLibCheck\u003c/code\u003e (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/af612c5e73ed0fed7642f17d546bf7496b8e6578\"\u003e\u003ccode\u003eaf612c5\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to ^24.12.3 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6952\"\u003e#6952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/917dda40f56af515104b5ff37cbc5ca4520d1aab\"\u003e\u003ccode\u003e917dda4\u003c/code\u003e\u003c/a\u003e ✅ Fix poisoning tests for latest Node (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6951\"\u003e#6951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/acb5c6ff231b1ebcf2ead87dd991d58fd7f4260e\"\u003e\u003ccode\u003eacb5c6f\u003c/code\u003e\u003c/a\u003e ✅ Tolerate \u003ccode\u003e\\p{...}\u003c/code\u003e value drift in docs tests (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6934\"\u003e#6934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/26cab193e7817157520633e7306451e97b05abb7\"\u003e\u003ccode\u003e26cab19\u003c/code\u003e\u003c/a\u003e ✨ Add \u003ccode\u003echainUntil\u003c/code\u003e arbitrary for iterative chaining (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6678\"\u003e#6678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/16f65f6648ecff8cdf85b5f7fc4d7939fda5cf85\"\u003e\u003ccode\u003e16f65f6\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency oxlint to ^1.60.0 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6856\"\u003e#6856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/0a8ce9a33b2f333af42dc3e0615c2facf464d43e\"\u003e\u003ccode\u003e0a8ce9a\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e to ^7.58.7 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6898\"\u003e#6898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/debb9b6297329e81a7bfc49165ec9dfcba00fbc0\"\u003e\u003ccode\u003edebb9b6\u003c/code\u003e\u003c/a\u003e 📝 Fix broken API reference links (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6900\"\u003e#6900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/642e6510ada3cff087f3d2ddc262005b5b0a70b1\"\u003e\u003ccode\u003e642e651\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency typescript to ~6.0.3 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6886\"\u003e#6886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dubzzz/fast-check/commits/v4.8.0/packages/fast-check\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lru-cache` from 5.1.1 to 10.4.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md\"\u003elru-cache's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ecringe lorg\u003c/h1\u003e\n\u003ch2\u003e11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ecache\u003c/code\u003e property to status objects, in order to\ndifferentiate which cache is emitting the metric or trace.\u003c/li\u003e\n\u003cli\u003eSeveral small bugs regarding fetch behavior edge cases.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eonInsert\u003c/code\u003e does not fire for background fetch internal\npromises.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edispose()\u003c/code\u003e and \u003ccode\u003edisposeAfter()\u003c/code\u003e now fire for the stale\nvalue left behind when an in-process background fetch is\npre-empted by eviction.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efetchMethod\u003c/code\u003e that returns a non-Promise value is handled\ncorrectly.\u003c/li\u003e\n\u003cli\u003eNo \u003ccode\u003eError\u003c/code\u003e is created, or \u003ccode\u003eabort()\u003c/code\u003e signaled, when a\nbackground fetch promise is resolved. (Presumably the\nimplementation is done by that point.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd observability features, expand the coverage of\n\u003ccode\u003eLRUCache.Status\u003c/code\u003e objects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003eperf\u003c/code\u003e option to specify \u003ccode\u003eperformance\u003c/code\u003e, \u003ccode\u003eDate\u003c/code\u003e, or any\nother object with a \u003ccode\u003enow()\u003c/code\u003e method that returns a number.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003eonInsert\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node less than v20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccidental minor update, should've been patch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eforceFetch()\u003c/code\u003e method\u003c/li\u003e\n\u003cli\u003eset \u003ccode\u003edisposeReason\u003c/code\u003e to \u003ccode\u003e'expire'\u003c/code\u003e when it's the result of a TTL\nexpiration, or \u003ccode\u003e'fetch'\u003c/code\u003e when it's the result of an aborted\nor \u003ccode\u003eundefined\u003c/code\u003e-returning \u003ccode\u003efetch()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003ememo()\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.2\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/isaacs/node-lru-cache/commit/228d71964978ad71a7dcea664c494468c780b956\"\u003e\u003ccode\u003e228d719\u003c/code\u003e\u003c/a\u003e 10.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/66aa00dc7e7cb77495dcdc7132cef8ae5e6a586e\"\u003e\u003ccode\u003e66aa00d\u003c/code\u003e\u003c/a\u003e remove engines restriction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/f7e9f2ad98dda229cb0b99f44bd1d32be86d74bc\"\u003e\u003ccode\u003ef7e9f2a\u003c/code\u003e\u003c/a\u003e 10.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/0c434f6b982f3e22e733a5f983c1407cbf80a123\"\u003e\u003ccode\u003e0c434f6\u003c/code\u003e\u003c/a\u003e even looser engines on legacy versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/e01135c4270941ac54d00a6b96eefdca31f3a6f6\"\u003e\u003ccode\u003ee01135c\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/3fcc3875d934a6961a336334968c19c7a57bf392\"\u003e\u003ccode\u003e3fcc387\u003c/code\u003e\u003c/a\u003e expanded engines definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/d67b111587d88ed71078dd552e06208479206cea\"\u003e\u003ccode\u003ed67b111\u003c/code\u003e\u003c/a\u003e changelog: cosmetics, explain 10.4 typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/52c9cb00034799257a4e08d9b7f037e409e00dbb\"\u003e\u003ccode\u003e52c9cb0\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/19e60d3eac7bca81e14ee07d82aa36055d788e9f\"\u003e\u003ccode\u003e19e60d3\u003c/code\u003e\u003c/a\u003e update tshy, remove 'source' export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/3edad217ce3a4b6535baf03957882d8afff82532\"\u003e\u003ccode\u003e3edad21\u003c/code\u003e\u003c/a\u003e 10.3.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-lru-cache/compare/v5.1.1...v10.4.3\"\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 `@babel/core` from 7.29.0 to 7.7.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/35f4d1276310bac6fede4a6f86a5c76f951e179e\"\u003e\u003ccode\u003e35f4d12\u003c/code\u003e\u003c/a\u003e v7.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/bdb4318f47ec42ca4e325b5163e2e8ad57de4849\"\u003e\u003ccode\u003ebdb4318\u003c/code\u003e\u003c/a\u003e chore: update convert-source-map dep (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10667\"\u003e#10667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/97faa83953cb87e332554fa559a4956d202343ea\"\u003e\u003ccode\u003e97faa83\u003c/code\u003e\u003c/a\u003e v7.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/87feda7c2a33b7bde6dc926ced4dd741a90cc860\"\u003e\u003ccode\u003e87feda7\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​babel/parser\u003c/code\u003e error recovery (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10363\"\u003e#10363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/bea1b0d0af7ebe09df2d98dfbaff561d57e7dfe9\"\u003e\u003ccode\u003ebea1b0d\u003c/code\u003e\u003c/a\u003e Add support for .cjs config files (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10599\"\u003e#10599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/d08702c9d2b2880e2a9adc922a491e046bdda831\"\u003e\u003ccode\u003ed08702c\u003c/code\u003e\u003c/a\u003e inputSourceMap should work when it is in an external file (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3a5e8a8dd428bc6240e75ee9aee2ccf2d9443cc6\"\u003e\u003ccode\u003e3a5e8a8\u003c/code\u003e\u003c/a\u003e Add support for babel.config.json (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10501\"\u003e#10501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f1bc6c4e18dbff8aad8e0b53d80c787c9dc9870c\"\u003e\u003ccode\u003ef1bc6c4\u003c/code\u003e\u003c/a\u003e feat: if code frame error is on a single line, highlight the w… (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10361\"\u003e#10361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/dcf7d89b8e9b6b364aae17652f94a4f0d3fe0950\"\u003e\u003ccode\u003edcf7d89\u003c/code\u003e\u003c/a\u003e fix: remove filename annotation in buildCodeFrameError (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10539\"\u003e#10539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/a422ea64ee2208a55dda33f990a422e14b917f5b\"\u003e\u003ccode\u003ea422ea6\u003c/code\u003e\u003c/a\u003e v7.6.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/babel/babel/commits/v7.7.2/packages/babel-core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json5` from 1.0.2 to 2.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/json5/json5/releases\"\u003ejson5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: json5@2.2.3 is now the 'latest' release according to npm instead of v1.0.2. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Properties with the name \u003ccode\u003e__proto__\u003c/code\u003e are added to objects and arrays.\n(\u003ca href=\"https://redirect.github.com/json5/json5/issues/199\"\u003e#199\u003c/a\u003e) This also fixes a prototype pollution vulnerability reported by\nJonathan Gregson! (\u003ca href=\"https://redirect.github.com/json5/json5/issues/295\"\u003e#295\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Removed dependence on minimist to patch CVE-2021-44906. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Accurate and documented TypeScript declarations are now included. There is no need to install \u003ccode\u003e@types/json5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/236\"\u003e#236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/json5/json5/issues/244\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.3 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.3\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.2...v2.1.3\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: An out of memory bug when parsing numbers has been fixed. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/228\"\u003e#228\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/json5/json5/issues/229\"\u003e#229\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Bump \u003ccode\u003eminimist\u003c/code\u003e to \u003ccode\u003ev1.2.5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: \u003ccode\u003epackage.json\u003c/code\u003e and \u003ccode\u003epackage.json5\u003c/code\u003e include a \u003ccode\u003emodule\u003c/code\u003e property so\nbundlers like webpack, rollup and parcel can take advantage of the ES Module\nbuild. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/208\"\u003e#208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: \u003ccode\u003estringify\u003c/code\u003e outputs \u003ccode\u003e\\0\u003c/code\u003e as \u003ccode\u003e\\\\x00\u003c/code\u003e when followed by a digit. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Spelling mistakes have been fixed. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: The \u003ccode\u003eindex.mjs\u003c/code\u003e and \u003ccode\u003eindex.min.mjs\u003c/code\u003e browser builds in the \u003ccode\u003edist\u003c/code\u003e directory support ES6 modules. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/187\"\u003e#187\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: The browser builds in the \u003ccode\u003edist\u003c/code\u003e directory support ES5. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/182\"\u003e#182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eMajor\u003c/strong\u003e: JSON5 officially supports Node.js v6 and later. Support for Node.js\nv4 has been dropped. Since Node.js v6 supports ES5 features, the code has been\nrewritten in native ES5, and the dependence on Babel has been eliminated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Support for Unicode 10 has been added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: The test framework has been migrated from Mocha to Tap.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: The browser build at \u003ccode\u003edist/index.js\u003c/code\u003e is no longer minified by default. A\nminified version is available at \u003ccode\u003edist/index.min.js\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/181\"\u003e#181\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: The warning has been made clearer when line and paragraph separators are\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/json5/json5/blob/main/CHANGELOG.md\"\u003ejson5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev2.2.3 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.3\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.2.2...v2.2.3\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: json5@2.2.3 is now the 'latest' release according to npm instead of\nv1.0.2. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.2.2 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.2\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.2.1...v2.2.2\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Properties with the name \u003ccode\u003e__proto__\u003c/code\u003e are added to objects and arrays.\n(\u003ca href=\"https://redirect.github.com/json5/json5/issues/199\"\u003e#199\u003c/a\u003e) This also fixes a prototype pollution vulnerability reported by\nJonathan Gregson! (\u003ca href=\"https://redirect.github.com/json5/json5/issues/295\"\u003e#295\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.2.1 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.1\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.2.0...v2.2.1\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Removed dependence on minimist to patch CVE-2021-44906. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.2.0 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.0\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.3...v2.2.0\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Accurate and documented TypeScript declarations are now included. There\nis no need to install \u003ccode\u003e@types/json5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/236\"\u003e#236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/json5/json5/issues/244\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.3 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.3\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.2...v2.1.3\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: An out of memory bug when parsing numbers has been fixed. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/228\"\u003e#228\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/json5/json5/issues/229\"\u003e#229\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.2 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.2\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.1...v2.1.2\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Bump \u003ccode\u003eminimist\u003c/code\u003e to \u003ccode\u003ev1.2.5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.1 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.1\"\u003ecode\u003c/a\u003e, [diff][d2.1.1]]\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/json5/json5/commit/c3a75242772a5026a49c4017a16d9b3543b62776\"\u003e\u003ccode\u003ec3a7524\u003c/code\u003e\u003c/a\u003e 2.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/94fd06d82eeed225fa172f6fb2ca27375cbd2e39\"\u003e\u003ccode\u003e94fd06d\u003c/code\u003e\u003c/a\u003e docs: update CHANGELOG for v2.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/3b8cebf0c474a8b20c78bd75c89cca0c4dce84ce\"\u003e\u003ccode\u003e3b8cebf\u003c/code\u003e\u003c/a\u003e docs(security): use GitHub security advisories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/f0fd9e194dde282caff114a110f4fac635f3a62c\"\u003e\u003ccode\u003ef0fd9e1\u003c/code\u003e\u003c/a\u003e docs: publish a security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/6a91a05fffeda16ff6b3b5008b6b340d42d31ec0\"\u003e\u003ccode\u003e6a91a05\u003c/code\u003e\u003c/a\u003e docs(template): bug -\u0026gt; bug report\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/14f8cb186e8abdfaccf6527171da7b1224374650\"\u003e\u003ccode\u003e14f8cb1\u003c/code\u003e\u003c/a\u003e 2.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/10cc7ca9169b59c5e0f5afc03dbd870cd06bcc46\"\u003e\u003ccode\u003e10cc7ca\u003c/code\u003e\u003c/a\u003e docs: update CHANGELOG for v2.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/7774c1097993bc3ce9f0ac4b722a32bf7d6871c8\"\u003e\u003ccode\u003e7774c10\u003c/code\u003e\u003c/a\u003e fix: add \u003cstrong\u003eproto\u003c/strong\u003e to objects and arrays\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/edde30abd8b22facf2c06c72586b9f6edf12700d\"\u003e\u003ccode\u003eedde30a\u003c/code\u003e\u003c/a\u003e Readme: slight tweak to intro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/97286f8bd542c89dcee096bc05dd28ed2dfc1e16\"\u003e\u003ccode\u003e97286f8\u003c/code\u003e\u003c/a\u003e Improve example in readme\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/json5/json5/compare/v1.0.2...v2.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `semver` from 6.3.1 to 7.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/npm/node-semver/releases\"\u003esemver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4\"\u003e7.7.4\u003c/a\u003e (2026-01-16)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/a29faa5f3309a01c8e5aeb965fb5c02c4c4e80e2\"\u003e\u003ccode\u003ea29faa5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/835\"\u003e#835\u003c/a\u003e cli: pass options to semver.valid() for loose version validation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/835\"\u003e#835\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/1d28d5e82de16163daf721a7c76fff93e0d333ab\"\u003e\u003ccode\u003e1d28d5e\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/836\"\u003e#836\u003c/a\u003e fix typos and update -n CLI option documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/836\"\u003e#836\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793\"\u003e\u003ccode\u003e120968b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/840\"\u003e#840\u003c/a\u003e \u003ccode\u003e@npmcli/template-oss@4.29.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/840\"\u003e#840\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/44d7130c60cedd3703048aa671bb1d659b79ab07\"\u003e\u003ccode\u003e44d7130\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/824\"\u003e#824\u003c/a\u003e bump \u003ccode\u003e@​npmcli/eslint-config\u003c/code\u003e from 5.1.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/824\"\u003e#824\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/70735767b68a1775eb67ac816b183b4a422101f4\"\u003e\u003ccode\u003e7073576\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/820\"\u003e#820\u003c/a\u003e reorder parameters in invalid-versions.js test (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/820\"\u003e#820\u003c/a\u003e) (\u003ca href=\"https://github.com/reggi\"\u003e\u003ccode\u003e@​reggi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5816d4cfd6d85169527a2bc22fbd5bf4c64f34e3\"\u003e\u003ccode\u003e5816d4c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/829\"\u003e#829\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.0 to 4.28.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/829\"\u003e#829\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3\"\u003e7.7.3\u003c/a\u003e (2025-10-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea\"\u003e\u003ccode\u003ee37e0ca\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/813\"\u003e#813\u003c/a\u003e faster paths for compare (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/813\"\u003e#813\u003c/a\u003e) (\u003ca href=\"https://github.com/H4ad\"\u003e\u003ccode\u003e@​H4ad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36\"\u003e\u003ccode\u003e2471d75\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/811\"\u003e#811\u003c/a\u003e x-range build metadata support (i529015)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f\"\u003e\u003ccode\u003e8f05c87\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/807\"\u003e#807\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.25.0 to 4.25.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/807\"\u003e#807\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2\"\u003e7.7.2\u003c/a\u003e (2025-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4\"\u003e\u003ccode\u003efcafb61\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/780\"\u003e#780\u003c/a\u003e add missing \u003ccode\u003e'use strict'\u003c/code\u003e directives (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2\"\u003e\u003ccode\u003ec99f336\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/781\"\u003e#781\u003c/a\u003e prerelease identifier starting with digits (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/781\"\u003e#781\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71\"\u003e\u003ccode\u003ec760403\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/784\"\u003e#784\u003c/a\u003e template-oss-apply for workflow permissions (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/784\"\u003e#784\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87\"\u003e\u003ccode\u003e2677f2a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/778\"\u003e#778\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.23.6 to 4.24.3 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/778\"\u003e#778\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1\"\u003e7.7.1\u003c/a\u003e (2025-02-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/af761c05bd53eef83b5e20f8b09360b0e70557dc\"\u003e\u003ccode\u003eaf761c0\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/764\"\u003e#764\u003c/a\u003e inc: fully capture prerelease identifier (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/764\"\u003e#764\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.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/npm/node-semver/blob/main/CHANGELOG.md\"\u003esemver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4\"\u003e7.7.4\u003c/a\u003e (2026-01-16)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/a29faa5f3309a01c8e5aeb965fb5c02c4c4e80e2\"\u003e\u003ccode\u003ea29faa5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/835\"\u003e#835\u003c/a\u003e cli: pass options to semver.valid() for loose version validation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/835\"\u003e#835\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/1d28d5e82de16163daf721a7c76fff93e0d333ab\"\u003e\u003ccode\u003e1d28d5e\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/836\"\u003e#836\u003c/a\u003e fix typos and update -n CLI option documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/836\"\u003e#836\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793\"\u003e\u003ccode\u003e120968b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/840\"\u003e#840\u003c/a\u003e \u003ccode\u003e@npmcli/template-oss@4.29.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/840\"\u003e#840\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/44d7130c60cedd3703048aa671bb1d659b79ab07\"\u003e\u003ccode\u003e44d7130\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/824\"\u003e#824\u003c/a\u003e bump \u003ccode\u003e@​npmcli/eslint-config\u003c/code\u003e from 5.1.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/824\"\u003e#824\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/70735767b68a1775eb67ac816b183b4a422101f4\"\u003e\u003ccode\u003e7073576\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/820\"\u003e#820\u003c/a\u003e reorder parameters in invalid-versions.js test (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/820\"\u003e#820\u003c/a\u003e) (\u003ca href=\"https://github.com/reggi\"\u003e\u003ccode\u003e@​reggi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5816d4cfd6d85169527a2bc22fbd5bf4c64f34e3\"\u003e\u003ccode\u003e5816d4c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/829\"\u003e#829\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.0 to 4.28.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/829\"\u003e#829\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3\"\u003e7.7.3\u003c/a\u003e (2025-10-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea\"\u003e\u003ccode\u003ee37e0ca\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/813\"\u003e#813\u003c/a\u003e faster paths for compare (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/813\"\u003e#813\u003c/a\u003e) (\u003ca href=\"https://github.com/H4ad\"\u003e\u003ccode\u003e@​H4ad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36\"\u003e\u003ccode\u003e2471d75\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/811\"\u003e#811\u003c/a\u003e x-range build metadata support (i529015)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f\"\u003e\u003ccode\u003e8f05c87\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/807\"\u003e#807\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.25.0 to 4.25.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/807\"\u003e#807\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2\"\u003e7.7.2\u003c/a\u003e (2025-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4\"\u003e\u003ccode\u003efcafb61\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/780\"\u003e#780\u003c/a\u003e add missing \u003ccode\u003e'use strict'\u003c/code\u003e directives (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2\"\u003e\u003ccode\u003ec99f336\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/781\"\u003e#781\u003c/a\u003e prerelease identifier starting with digits (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/781\"\u003e#781\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71\"\u003e\u003ccode\u003ec760403\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/784\"\u003e#784\u003c/a\u003e template-oss-apply for workflow permissions (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/784\"\u003e#784\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87\"\u003e\u003ccode\u003e2677f2a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/778\"\u003e#778\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.23.6 to 4.24.3 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/778\"\u003e#778\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1\"\u003e7.7.1\u003c/a\u003e (2025-02-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/af761c05bd53eef83b5e20f8b09360b0e70557dc\"\u003e\u003ccode\u003eaf761c0\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/764\"\u003e#764\u003c/a\u003e inc: fully capture prerelease identifier (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/764\"\u003e#764\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.6.3...v7.7.0\"\u003e7.7.0\u003c/a\u003e (2025-01-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0864b3ce7932667013e0c7c5ec764777d4682883\"\u003e\u003ccode\u003e0864b3c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/753\"\u003e#753\u003c/a\u003e add \u0026quot;release\u0026quot; inc type (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/753\"\u003e#753\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/d588e3782864b1cab2fe9f2452b848e8c7f609d1\"\u003e\u003ccode\u003ed588e37\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/755\"\u003e#755\u003c/a\u003e diff: fix prerelease to stable version diff logic (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/755\"\u003e#755\u003c/a\u003e) (\u003ca href=\"https://github.com/eminberkayd\"\u003e\u003ccode\u003e@​eminberkayd\u003c/code\u003e\u003c/a\u003e, berkay.daglar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/8a34bdecc783407f4e1a8a1ee1f67906b84a4b78\"\u003e\u003ccode\u003e8a34bde\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/754\"\u003e#754\u003c/a\u003e add identifier validation to \u003ccode\u003einc()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/754\"\u003e#754\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\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/npm/node-semver/commit/efa4be6096c1f9b77d9d27d6132f6220c43b4e31\"\u003e\u003ccode\u003eefa4be6\u003c/code\u003e\u003c/a\u003e chore: release 7.8.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/847\"\u003e#847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply@5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e fix: Warn when defaulting to --inc=patch in CLI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e docs: fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e docs: fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5993c2e42bdf17c5f03e6360da51bc707fcee460\"\u003e\u003ccode\u003e5993c2e\u003c/code\u003e\u003c/a\u003e chore: release 7.7.4 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793\"\u003e\u003ccode\u003e120968b\u003c/code\u003e\u003c/a\u003e deps: \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.29.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/840\"\u003e#840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/npm/node-semver/compare/v6.3.1...v7.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for semver since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@cypress/request` from 3.0.10 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/request/releases\"\u003e@​cypress/request's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/cypress-io/request/compare/v3.0.10...v4.0.0\"\u003e4.0.0\u003c/a\u003e (2026-04-30)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMerge pull request \u003ca href=\"https://redirect.github.com/cypress-io/request/issues/105\"\u003e#105\u003c/a\u003e from cypress-io/deps/rm-uuid (\u003ca href=\"https://github.com/cypress-io/request/commit/12b38c97e505b307e24efc131dca11a6941406e6\"\u003e12b38c9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe minimum supported Node.js version is now \u0026gt;= 14.17.0\n(\u003ccode\u003ecrypto.randomUUID()\u003c/code\u003e). Consumers must run on Node 14.17+ (or a newer\nsupported release). Upgrade Node before upgrading \u003ccode\u003e@​cypress/request\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eProjects pinned to older Node versions will fail at install time due to the\n\u003ccode\u003eengines\u003c/code\u003e field and may fail at runtime if they bypass it.\nRefs: \u003ca href=\"https://redirect.github.com/cypress-io/request/pull/105\"\u003ecypress-io/request#105\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/request/commit/12b38c97e505b307e24efc131dca11a6941406e6\"\u003e\u003ccode\u003e12b38c9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cypress-io/request/issues/105\"\u003e#105\u003c/a\u003e from cypress-io/deps/rm-uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/request/commit/e334dd84f0cc894a5e69513640200bc107cf5d3a\"\u003e\u003ccode\u003ee334dd8\u003c/code\u003e\u003c/a\u003e BREAKING: update minimum node version to 14.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/request/commit/70413a92ae7b2fffa03748f78e4cbd6ad34d1629\"\u003e\u003ccode\u003e70413a9\u003c/code\u003e\u003c/a\u003e chore(deps): remove uuid, use built-in crypto\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cypress-io/request/compare/v3.0.10...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debug` from 3.2.7 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/debug-js/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.4.3\u003c/h2\u003e\n\u003cp\u003eFunctionally identical release to \u003ccode\u003e4.4.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eVersion \u003ccode\u003e4.4.2\u003c/code\u003e is \u003cstrong\u003ecompromised\u003c/strong\u003e. Please see \u003ca href=\"https://redirect.github.com/debug-js/debug/issues/1005\"\u003edebug-js/debug#1005\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(Issue-996): replace whitespaces in namespaces string with commas globally by \u003ca href=\"https://github.com/pdahal-cx\"\u003e\u003ccode\u003e@​pdahal-cx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/997\"\u003edebug-js/debug#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/debug-js/debug/issues/987\"\u003e#987\u003c/a\u003e fallback to localStorage.DEBUG if debug is not defined by \u003ca href=\"https://github.com/lzilioli\"\u003e\u003ccode\u003e@​lzilioli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/988\"\u003edebug-js/debug#988\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/pdahal-cx\"\u003e\u003ccode\u003e@​pdahal-cx\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/997\"\u003edebug-js/debug#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lzilioli\"\u003e\u003ccode\u003e@​lzilioli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/988\"\u003edebug-js/debug#988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.4.0...4.4.1\"\u003ehttps://github.com/debug-js/debug/compare/4.4.0...4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.4.0\u003c/h2\u003e\n\u003cp\u003eFixes (hopefully) the inefficient regex warnings in \u003ccode\u003e.enable()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eMinor version as this is invariably going to break certain users who misuse the \u003ccode\u003e.enable()\u003c/code\u003e API and expected it to work with regexes, which was never supported nor documented. That's on you, sorry - that functionality won't be added back.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.3.7...4.4.0\"\u003ehttps://github.com/debug-js/debug/compare/4.3.7...4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade ms to version 2.1.3 by \u003ca href=\"https://github.com/realityking\"\u003e\u003ccode\u003e@​realityking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/819\"\u003edebug-js/debug#819\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.3.6...4.3.7\"\u003ehttps://github.com/debug-js/debug/compare/4.3.6...4.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using deprecated RegExp.$1 by \u003ca href=\"https://github.com/bluwy\"\u003e\u003ccode\u003e@​bluwy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/969\"\u003edebug-js/debug#969\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/bluwy\"\u003e\u003ccode\u003e@​bluwy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/969\"\u003edebug-js/debug#969\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.3.5...4.3.6\"\u003ehttps://github.com/debug-js/debug/compare/4.3.5...4.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.3.5\u003c/h2\u003e\n\u003ch1\u003ePatch\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ecac39b1c5b018b0fe93a53a05f084eee543d17f5 Fix/debug depth (\u003ca href=\"https://redirect.github.com/debug-js/debug/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you \u003ca href=\"https://github.com/calvintwr\"\u003e\u003ccode\u003e@​calvintwr\u003c/code\u003e\u003c/a\u003e for the fix.\u003c/p\u003e\n\u003ch2\u003e4.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd section about configuring JS console to show debug messages by \u003ca href=\"https://github.com/gitname\"\u003e\u003ccode\u003e@​gitname\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/866\"\u003edebug-js/debug#866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated String.prototype.substr() by \u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/876\"\u003edebug-js/debug#876\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/6b2c5fbdb7d414483d9e306ef234acb4cd7ea67c\"\u003e\u003ccode\u003e6b2c5fb\u003c/code\u003e\u003c/a\u003e 4.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/33330fa8616b9b33f29f7674747be77266878ba6\"\u003e\u003ccode\u003e33330fa\u003c/code\u003e\u003c/a\u003e 4.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/98df33ed9d5215c1d801b74e6ab00969759a6839\"\u003e\u003ccode\u003e98df33e\u003c/code\u003e\u003c/a\u003e remove istanbul\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/bf2f574c3e588ce4b660bf4e392e7a5e788640c0\"\u003e\u003ccode\u003ebf2f574\u003c/code\u003e\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/debug-js/debug/issues/987\"\u003e#987\u003c/a\u003e fallback to localStorage.DEBUG if debug is not defined (\u003ca href=\"https://redirect.github.com/debug-js/debug/issues/988\"\u003e#988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/a0497bd46dacb701437f62cfc065dc72bf0952c7\"\u003e\u003ccode\u003ea0497bd\u003c/code\u003e\u003c/a\u003e Replace whitespaces in namespaces string with commas globally instead of just...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/7e3814cc603bf64fdd69e714e0cf5611ec31f43b\"\u003e\u003ccode\u003e7e3814c\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/d2d6bf0bab3a0eeeb3a9ce7113cb0a31d8da678f\"\u003e\u003ccode\u003ed2d6bf0\u003c/code\u003e\u003c/a\u003e fix inefficient .enable() regex and .enabled() test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/bc60914816e5e45a5fff1cd638410438fc317521\"\u003e\u003ccode\u003ebc60914\u003c/code\u003e\u003c/a\u003e 4.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/c63e96e6495cdb8e15d2affa8dad105c48a21c92\"\u003e\u003ccode\u003ec63e96e\u003c/code\u003e\u003c/a\u003e Upgrade ms to version 2.1.3 (\u003ca href=\"https://redirect.github.com/debug-js/debug/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/382864a45a7...\n\n_Description has been truncated_","html_url":"https://github.com/ken-guru/github-copilot-agent-assisted-next-app/pull/591","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ken-guru%2Fgithub-copilot-agent-assisted-next-app/issues/591","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/591/packages"},{"uuid":"2802854114","node_id":"PR_kwDOPefcCc6nECji","number":3,"state":"open","title":"deps(deps): bump the development-dependencies group with 96 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-05T14:56:38.000Z","updated_at":"2025-09-05T14:56:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"development-dependencies","update_count":96,"packages":[{"name":"@next/bundle-analyzer","old_version":"15.5.0","new_version":"15.5.2","repository_url":"https://github.com/vercel/next.js"},{"name":"@sentry/cli","old_version":"2.52.0","new_version":"2.53.0","repository_url":"https://github.com/getsentry/sentry-cli"},{"name":"@types/bcryptjs","old_version":"2.4.6","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.11","new_version":"20.19.13","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"cross-env","old_version":"7.0.3","new_version":"10.0.0","repository_url":"https://github.com/kentcdodds/cross-env"},{"name":"eslint","old_version":"9.33.0","new_version":"9.34.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-next","old_version":"15.5.0","new_version":"15.5.2","repository_url":"https://github.com/vercel/next.js"},{"name":"jest","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"lint-staged","old_version":"15.5.2","new_version":"16.1.6","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"tailwindcss","old_version":"3.4.17","new_version":"4.1.13","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@emnapi/core","old_version":"1.4.5","new_version":"1.5.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@emnapi/wasi-threads","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@eslint-community/eslint-utils","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/eslint-community/eslint-utils"},{"name":"@eslint/js","old_version":"9.33.0","new_version":"9.34.0","repository_url":"https://github.com/eslint/eslint"},{"name":"@humanfs/node","old_version":"0.16.6","new_version":"0.16.7","repository_url":"https://github.com/humanwhocodes/humanfs"},{"name":"@humanwhocodes/retry","old_version":"0.3.1","new_version":"0.4.3","repository_url":"https://github.com/humanwhocodes/retry"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"expect","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/get-type","old_version":"30.0.1","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@next/eslint-plugin-next","old_version":"15.5.0","new_version":"15.5.2","repository_url":"https://github.com/vercel/next.js"},{"name":"@sentry/cli-win32-arm64","old_version":"2.52.0","new_version":"2.53.0","repository_url":"https://github.com/getsentry/sentry-cli"},{"name":"@sinclair/typebox","old_version":"0.27.8","new_version":"0.34.41","repository_url":"https://github.com/sinclairzx81/typebox"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/jsdom","old_version":"20.0.1","new_version":"21.1.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/project-service","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/scope-manager","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/tsconfig-utils","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/type-utils","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/types","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/utils","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/visitor-keys","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vue/compiler-sfc","old_version":"3.5.20","new_version":"3.5.21","repository_url":"https://github.com/vuejs/core"},{"name":"@vue/compiler-ssr","old_version":"3.5.20","new_version":"3.5.21","repository_url":"https://github.com/vuejs/core"},{"name":"@vue/shared","old_version":"3.5.20","new_version":"3.5.21","repository_url":"https://github.com/vuejs/core"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.3.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cssstyle","old_version":"2.3.0","new_version":"4.6.0","repository_url":"https://github.com/jsdom/cssstyle"},{"name":"data-urls","old_version":"3.0.2","new_version":"5.0.0","repository_url":"https://github.com/jsdom/data-urls"},{"name":"dedent","old_version":"1.6.0","new_version":"1.7.0","repository_url":"https://github.com/dmnd/dedent"},{"name":"get-east-asian-width","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/sindresorhus/get-east-asian-width"},{"name":"html-encoding-sniffer","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/html-encoding-sniffer"},{"name":"http-proxy-agent","old_version":"5.0.0","new_version":"7.0.2","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jiti","old_version":"1.21.7","new_version":"2.5.1","repository_url":"https://github.com/unjs/jiti"},{"name":"jsdom","old_version":"20.0.3","new_version":"26.1.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"listr2","old_version":"8.3.3","new_version":"9.0.3","repository_url":"https://github.com/listr2/listr2"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"tough-cookie","old_version":"4.1.4","new_version":"5.1.2","repository_url":"https://github.com/salesforce/tough-cookie"},{"name":"w3c-xmlserializer","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/w3c-xmlserializer"},{"name":"whatwg-encoding","old_version":"2.0.0","new_version":"3.1.1","repository_url":"https://github.com/jsdom/whatwg-encoding"},{"name":"whatwg-mimetype","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/whatwg-mimetype"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"},{"name":"xml-name-validator","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/xml-name-validator"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 96 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@next/bundle-analyzer](https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer) | `15.5.0` | `15.5.2` |\n| [@sentry/cli](https://github.com/getsentry/sentry-cli) | `2.52.0` | `2.53.0` |\n| [@types/bcryptjs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcryptjs) | `2.4.6` | `3.0.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.11` | `20.19.13` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.40.0` | `8.42.0` |\n| [cross-env](https://github.com/kentcdodds/cross-env) | `7.0.3` | `10.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.33.0` | `9.34.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.5.0` | `15.5.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.1.3` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `29.7.0` | `30.1.2` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `16.1.6` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.17` | `4.1.13` |\n| [@emnapi/core](https://github.com/toyobayashi/emnapi) | `1.4.5` | `1.5.0` |\n| [@emnapi/wasi-threads](https://github.com/toyobayashi/emnapi) | `1.0.4` | `1.1.0` |\n| [@eslint-community/eslint-utils](https://github.com/eslint-community/eslint-utils) | `4.7.0` | `4.8.0` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.33.0` | `9.34.0` |\n| [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) | `0.16.6` | `0.16.7` |\n| [@humanwhocodes/retry](https://github.com/humanwhocodes/retry) | `0.3.1` | `0.4.3` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.1.2` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.1.0` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.5` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.1.3` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.1.3` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.1.2` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.5` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.1.2` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.1.2` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.1.2` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.1.2` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.1.2` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.1.2` |\n| [@jest/get-type](https://github.com/jestjs/jest/tree/HEAD/packages/jest-get-type) | `30.0.1` | `30.1.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.1.2` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.1` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.1.3` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.5` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.1` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.1.3` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.1.3` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.1.2` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.5` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `15.5.0` | `15.5.2` |\n| [@sentry/cli-win32-arm64](https://github.com/getsentry/sentry-cli) | `2.52.0` | `2.53.0` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/typebox) | `0.27.8` | `0.34.41` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) | `20.0.1` | `21.1.7` |\n| [@typescript-eslint/project-service](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/tsconfig-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/tsconfig-utils) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `8.40.0` | `8.42.0` |\n| [@vue/compiler-sfc](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc) | `3.5.20` | `3.5.21` |\n| [@vue/compiler-ssr](https://github.com/vuejs/core/tree/HEAD/packages/compiler-ssr) | `3.5.20` | `3.5.21` |\n| [@vue/shared](https://github.com/vuejs/core/tree/HEAD/packages/shared) | `3.5.20` | `3.5.21` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.1.2` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.1` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.1` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.3.0` |\n| [cssstyle](https://github.com/jsdom/cssstyle) | `2.3.0` | `4.6.0` |\n| [data-urls](https://github.com/jsdom/data-urls) | `3.0.2` | `5.0.0` |\n| [dedent](https://github.com/dmnd/dedent) | `1.6.0` | `1.7.0` |\n| [get-east-asian-width](https://github.com/sindresorhus/get-east-asian-width) | `1.3.0` | `1.3.1` |\n| [html-encoding-sniffer](https://github.com/jsdom/html-encoding-sniffer) | `3.0.0` | `4.0.0` |\n| [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) | `5.0.0` | `7.0.2` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.5` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.1.3` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.1.3` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.1` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.1.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.1.2` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.1.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.1.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.1.3` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.1.3` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.1.3` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.1.3` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.1.2` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.1.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.1.3` |\n| [jiti](https://github.com/unjs/jiti) | `1.21.7` | `2.5.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `20.0.3` | `26.1.0` |\n| [listr2](https://github.com/listr2/listr2) | `8.3.3` | `9.0.3` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [tough-cookie](https://github.com/salesforce/tough-cookie) | `4.1.4` | `5.1.2` |\n| [w3c-xmlserializer](https://github.com/jsdom/w3c-xmlserializer) | `4.0.0` | `5.0.0` |\n| [whatwg-encoding](https://github.com/jsdom/whatwg-encoding) | `2.0.0` | `3.1.1` |\n| [whatwg-mimetype](https://github.com/jsdom/whatwg-mimetype) | `3.0.0` | `4.0.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n| [xml-name-validator](https://github.com/jsdom/xml-name-validator) | `4.0.0` | `5.0.0` |\n\nUpdates `@next/bundle-analyzer` from 15.5.0 to 15.5.2\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\"\u003e\u003ccode\u003e@​next/bundle-analyzer\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev15.5.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: disable unknownatrules lint rule entirely (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83059\"\u003e#83059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erevert: add ?dpl to fonts in /_next/static/media (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83062\"\u003e#83062\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: aliased navigations should apply scroll handling (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82900\"\u003e#82900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: fix invalid NFT entry with file behind symlink (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82887\"\u003e#82887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: typesafe linking to route handlers and pages API routes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82858\"\u003e#82858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: change \u0026quot;noUnknownAtRules\u0026quot; to \u0026quot;warn\u0026quot; for Biome (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82974\"\u003e#82974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add path normalization to getRelativePath for Windows (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82918\"\u003e#82918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add typesafety with config.typedRoutes to redirect() and permanentRedirect() (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82860\"\u003e#82860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid importing types that will be unused (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82856\"\u003e#82856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update the config.api.responseLimit type (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82852\"\u003e#82852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update validation return types (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82854\"\u003e#82854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mischnic\"\u003e\u003ccode\u003e@​mischnic\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1-canary.28\u003c/h2\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[codemod] return origin src in viewport mod if not changed: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83435\"\u003e#83435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(next/image): introduce \u003ccode\u003epreload\u003c/code\u003e prop and deprecated \u003ccode\u003epriority\u003c/code\u003e prop: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83351\"\u003e#83351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[metadata] use generateStaticParams for getImageMetadata: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83374\"\u003e#83374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Include CSP nonce in next/dynamic preload: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/81999\"\u003e#81999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Segment Cache] use \u003ccode\u003eloading\u003c/code\u003e from dynamic response for unprefetched navigations: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83305\"\u003e#83305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade React from \u003ccode\u003e3302d1f7-20250903\u003c/code\u003e to \u003ccode\u003eb9a04536-20250904\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83446\"\u003e#83446\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: add prerender snapshot for metadata-dynamic-routes test: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83432\"\u003e#83432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Fix broken getImageProps sample code: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83436\"\u003e#83436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eauto-enable errors.json merge driver: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83420\"\u003e#83420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Improve handling of symlink resolution errors in track_glob and read_glob: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83357\"\u003e#83357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack development test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83407\"\u003e#83407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack production test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83408\"\u003e#83408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Add an execution test for the behavior when a module throws an error: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83451\"\u003e#83451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/497ec6aa08a33f9e2d65a5c8461f550c2549d3e6\"\u003e\u003ccode\u003e497ec6a\u003c/code\u003e\u003c/a\u003e v15.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/cc68ced55210aca1716daabefb5aa2006bc3d024\"\u003e\u003ccode\u003ecc68ced\u003c/code\u003e\u003c/a\u003e v15.5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v15.5.2/packages/next-bundle-analyzer\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@sentry/cli` from 2.52.0 to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-cli/releases\"\u003e\u003ccode\u003e@​sentry/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.53.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add release notes option (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2712\"\u003e#2712\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges from 2.53.0-alpha\u003c/h3\u003e\n\u003cp\u003e2.53.0-alpha reintroduced the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands. 2.53.0 is the first stable release to reintroduce them.\u003c/p\u003e\n\u003cp\u003ePlease note, the \u003ccode\u003ebuild\u003c/code\u003e commands are still experimental, and are therefore subject to breaking changes, including removal, in any release, without notice.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.53.0-alpha\u003c/h2\u003e\n\u003cp\u003eThis release reintroduces the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands.\u003c/p\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\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/getsentry/sentry-cli/blob/master/CHANGELOG.md\"\u003e\u003ccode\u003e@​sentry/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.53.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add release notes option (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2712\"\u003e#2712\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges from 2.53.0-alpha\u003c/h3\u003e\n\u003cp\u003e2.53.0-alpha reintroduced the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands. 2.53.0 is the first stable release to reintroduce them.\u003c/p\u003e\n\u003cp\u003ePlease note, the \u003ccode\u003ebuild\u003c/code\u003e commands are still experimental, and are therefore subject to breaking changes, including removal, in any release, without notice.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.53.0-alpha\u003c/h2\u003e\n\u003cp\u003eThis release reintroduces the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands.\u003c/p\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\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/getsentry/sentry-cli/commit/80ffbe58a1c827486a797855c19a292e4668d4f5\"\u003e\u003ccode\u003e80ffbe5\u003c/code\u003e\u003c/a\u003e meta: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/783b75e2cb0f728a2dbf68f694fb66665c5f86d7\"\u003e\u003ccode\u003e783b75e\u003c/code\u003e\u003c/a\u003e release: 2.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/09754edd0c85ae2aebbb6c9b1f724648cf74470d\"\u003e\u003ccode\u003e09754ed\u003c/code\u003e\u003c/a\u003e meta(cursor): Tell Cursor to \u003ccode\u003ecargo fmt\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2721\"\u003e#2721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/87be223c54e19ce86fcaaad8d926a8394ed4419d\"\u003e\u003ccode\u003e87be223\u003c/code\u003e\u003c/a\u003e feat(mobile-app): Add release notes option (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2712\"\u003e#2712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/d20139c587db7d6fa655e1f166632e121083d3f5\"\u003e\u003ccode\u003ed20139c\u003c/code\u003e\u003c/a\u003e Merge branch 'release/2.53.0-alpha'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/29e36b907837a829622a2328b75d4b075b75fbdf\"\u003e\u003ccode\u003e29e36b9\u003c/code\u003e\u003c/a\u003e meta: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/ab8f32c5a555ec59bad37cbc321601cb0f146301\"\u003e\u003ccode\u003eab8f32c\u003c/code\u003e\u003c/a\u003e release: 2.53.0-alpha\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/9064d5ead212cb1e21a2d5c7e6df9b43dfae0982\"\u003e\u003ccode\u003e9064d5e\u003c/code\u003e\u003c/a\u003e feat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/7f5cb5d3b43eaed458c8ce98a1d740b3683cb2f4\"\u003e\u003ccode\u003e7f5cb5d\u003c/code\u003e\u003c/a\u003e chore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/29151e598408f77c767f671e20fdef4a5a0ea3e1\"\u003e\u003ccode\u003e29151e5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-cli/compare/2.52.0...2.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/bcryptjs` from 2.4.6 to 3.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/bcryptjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 20.19.11 to 20.19.13\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.40.0 to 8.42.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.42.0\u003c/h2\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate tseslint.config() (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11531\"\u003e#11531\u003c/a\u003e) -- see \u003ca href=\"https://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\"\u003ehttps://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update eslint monorepo to v9.33.0 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e handle non-normalized windows paths produced by jiti (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11546\"\u003e#11546\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\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.41.0\u003c/h2\u003e\n\u003ch2\u003e8.41.0 (2025-08-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etighten \u003ccode\u003etsconfigRootDir\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11463\"\u003e#11463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update eslint monorepo to v9.33.0 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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.41.0 (2025-08-25)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency prettier to v3.6.2 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11496\"\u003e#11496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/d13590979dc4130525d7b321230298dcdebc176f\"\u003e\u003ccode\u003ed135909\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0daf303232f3252076e96dc9821111d02a70e815\"\u003e\u003ccode\u003e0daf303\u003c/code\u003e\u003c/a\u003e chore: use new ESLint rules internally (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11558\"\u003e#11558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ee3efa7a112e50fb003530658bce193c990c0b85\"\u003e\u003ccode\u003eee3efa7\u003c/code\u003e\u003c/a\u003e feat(typescript-estree): forbid invalid keys in \u003ccode\u003eEnumMember\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11497\"\u003e#11497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/264ca2fad49a298a2963de83746f8e8044229a3b\"\u003e\u003ccode\u003e264ca2f\u003c/code\u003e\u003c/a\u003e fix(deps): update eslint monorepo to v9.33.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/31a73361bd6449974c89b78ef77be0d04e77510b\"\u003e\u003ccode\u003e31a7336\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a4526b3f68d5625c50e83fe472babeca67c92cb7\"\u003e\u003ccode\u003ea4526b3\u003c/code\u003e\u003c/a\u003e chore: skip failing tests to fix CI (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11505\"\u003e#11505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/03e21eb255cd6070f4222086601b38db1be0bcf3\"\u003e\u003ccode\u003e03e21eb\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency prettier to v3.6.2 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11496\"\u003e#11496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/eslint-plugin\"\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 [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.40.0 to 8.42.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.42.0\u003c/h2\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate tseslint.config() (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11531\"\u003e#11531\u003c/a\u003e) -- see \u003ca href=\"https://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\"\u003ehttps://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update eslint monorepo to v9.33.0 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e handle non-normalized windows paths produced by jiti (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11546\"\u003e#11546\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\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.41.0\u003c/h2\u003e\n\u003ch2\u003e8.41.0 (2025-08-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etighten \u003ccode\u003etsconfigRootDir\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11463\"\u003e#11463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\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\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.41.0 (2025-08-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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/d13590979dc4130525d7b321230298dcdebc176f\"\u003e\u003ccode\u003ed135909\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/31a73361bd6449974c89b78ef77be0d04e77510b\"\u003e\u003ccode\u003e31a7336\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.41.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/parser\"\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 [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cross-env` from 7.0.3 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kentcdodds/cross-env/releases\"\u003ecross-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/compare/v9.0.0...v10.0.0\"\u003e10.0.0\u003c/a\u003e (2025-07-25)\u003c/h1\u003e\n\u003cp\u003eTL;DR: You should probably not have to change anything if:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou're using a modern maintained version of Node.js (v20+ is tested)\u003c/li\u003e\n\u003cli\u003eYou're only using the CLI (most of you are as that's the intended purpose)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIn this release (which should have been v8 except I had some issues with automated releases 🙈), I've updated all the things and modernized the package. This happened in \u003ca href=\"https://redirect.github.com/kentcdodds/cross-env/issues/261\"\u003e#261\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWas this needed? Not really, but I just thought it'd be fun to modernize this package.\u003c/p\u003e\n\u003cp\u003eHere's the highlights of what was done.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eReplace Jest with Vitest for testing\u003c/li\u003e\n\u003cli\u003eConvert all source files from .js to .ts with proper TypeScript types\u003c/li\u003e\n\u003cli\u003eUse zshy for ESM-only builds (removes CJS support)\u003c/li\u003e\n\u003cli\u003eAdopt \u003ccode\u003e@​epic-web/config\u003c/code\u003e for TypeScript, ESLint, and Prettier\u003c/li\u003e\n\u003cli\u003eUpdate to Node.js \u0026gt;=20 requirement\u003c/li\u003e\n\u003cli\u003eRemove kcd-scripts dependency\u003c/li\u003e\n\u003cli\u003eAdd comprehensive e2e tests with GitHub Actions matrix testing\u003c/li\u003e\n\u003cli\u003eUpdate GitHub workflow with caching and cross-platform testing\u003c/li\u003e\n\u003cli\u003eModernize documentation and remove outdated sections\u003c/li\u003e\n\u003cli\u003eUpdate all dependencies to latest versions\u003c/li\u003e\n\u003cli\u003eAdd proper TypeScript declarations and exports\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe tool maintains its original functionality while being completely modernized with the latest tooling and best practices\u003c/p\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis is a major rewrite that changes the module format from CommonJS to ESM-only. The package now requires Node.js \u0026gt;=20 and only exports ESM modules (not relevant in most cases).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/8635e80e81080f3e8f83b514565dc6bfecf6760c\"\u003e\u003ccode\u003e8635e80\u003c/code\u003e\u003c/a\u003e fix(release): manually release a major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/3a58f2236009b2f52479f2927c7790129450ec63\"\u003e\u003ccode\u003e3a58f22\u003c/code\u003e\u003c/a\u003e chore: fix npmrc registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/b70bfff5ecff5c92f2462cd6334378ef5bd84db0\"\u003e\u003ccode\u003eb70bfff\u003c/code\u003e\u003c/a\u003e chore(ci): add names to steps and workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/cc5759dc36012c4b13b3d3b1af5e0a645d3c55f6\"\u003e\u003ccode\u003ecc5759d\u003c/code\u003e\u003c/a\u003e fix(release): manually release a major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/080a8591909665f42592d73e1149d0a061164045\"\u003e\u003ccode\u003e080a859\u003c/code\u003e\u003c/a\u003e chore: remove publish script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/31e5bc70e726dee8e453dd64d54ad02eeb66e23a\"\u003e\u003ccode\u003e31e5bc7\u003c/code\u003e\u003c/a\u003e chore(ci): restore built files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/81e9c34f55c483dc1f568696db36267748b3740d\"\u003e\u003ccode\u003e81e9c34\u003c/code\u003e\u003c/a\u003e chore(ci): add back semantic-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/3e380cb3f6a09515011cdc3354ed61986eb8d2ef\"\u003e\u003ccode\u003e3e380cb\u003c/code\u003e\u003c/a\u003e fix: link to license\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/064247295945b2b8d922dc725cb58e779458e7fd\"\u003e\u003ccode\u003e0642472\u003c/code\u003e\u003c/a\u003e fix: handle edge case and update README for clarity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/3ff5b3d7eebf14edf186d6fef44956bdd4a61b27\"\u003e\u003ccode\u003e3ff5b3d\u003c/code\u003e\u003c/a\u003e feat: modernize cross-env with TypeScript, Vitest, and ESM-only build (\u003ca href=\"https://redirect.github.com/kentcdodds/cross-env/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kentcdodds/cross-env/compare/v7.0.3...v10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.33.0 to 9.34.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.34.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33\"\u003e\u003ccode\u003e0bb777a\u003c/code\u003e\u003c/a\u003e feat: multithread linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19794\"\u003e#19794\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab\"\u003e\u003ccode\u003e43a5f9e\u003c/code\u003e\u003c/a\u003e feat: add eslint-plugin-regexp to eslint-config-eslint base config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19951\"\u003e#19951\u003c/a\u003e) (Pixel998)\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/9b8990397b2d2ed70771bb0e2070261a0c41782c\"\u003e\u003ccode\u003e9b89903\u003c/code\u003e\u003c/a\u003e fix: default value of accessor-pairs option in rule.d.ts file (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20024\"\u003e#20024\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d\"\u003e\u003ccode\u003e6c07420\u003c/code\u003e\u003c/a\u003e fix: fix spurious failure in neostandard integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20023\"\u003e#20023\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b\"\u003e\u003ccode\u003e676f4ac\u003c/code\u003e\u003c/a\u003e fix: allow scientific notation with trailing zeros matching exponent (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20002\"\u003e#20002\u003c/a\u003e) (Sweta Tanwar)\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/0b4a590333b73a21b9e0ddc98462680e09fe3232\"\u003e\u003ccode\u003e0b4a590\u003c/code\u003e\u003c/a\u003e docs: make rulesdir deprecation clearer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20018\"\u003e#20018\u003c/a\u003e) (Domenico Gemoli)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522\"\u003e\u003ccode\u003e327c672\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/bf2622991f5b892610a8c3343ff16519e5fd7a79\"\u003e\u003ccode\u003ebf26229\u003c/code\u003e\u003c/a\u003e docs: Fix typo in core-concepts/index.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20009\"\u003e#20009\u003c/a\u003e) (Tobias Hernstig)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a\"\u003e\u003ccode\u003e2309327\u003c/code\u003e\u003c/a\u003e docs: fix typo in the \u0026quot;Configuring Rules\u0026quot; section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20001\"\u003e#20001\u003c/a\u003e) (ghazi-git)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29\"\u003e\u003ccode\u003e2b87e21\u003c/code\u003e\u003c/a\u003e docs: [no-else-return] clarify sample code. (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19991\"\u003e#19991\u003c/a\u003e) (Yuki Takada (Yukinosuke Takada))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a\"\u003e\u003ccode\u003ec36570c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be\"\u003e\u003ccode\u003ef19ad94\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.34.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20030\"\u003e#20030\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c\"\u003e\u003ccode\u003eb48fa20\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda\"\u003e\u003ccode\u003e4bce8a2\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b\"\u003e\u003ccode\u003e0c9999c\u003c/code\u003e\u003c/a\u003e refactor: prefer default options in \u003ccode\u003egrouped-accessor-pairs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20028\"\u003e#20028\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d503f1981354c7b86e423879846c61e0405af8fe\"\u003e\u003ccode\u003ed503f19\u003c/code\u003e\u003c/a\u003e ci: fix \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20010\"\u003e#20010\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883\"\u003e\u003ccode\u003ee2dc67d\u003c/code\u003e\u003c/a\u003e ci: centralize \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19994\"\u003e#19994\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a\"\u003e\u003ccode\u003e7093cb8\u003c/code\u003e\u003c/a\u003e ci: bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20005\"\u003e#20005\u003c/a\u003e) (dependabot[bot])\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/eslint/blob/main/CHANGELOG.md\"\u003eeslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev9.34.0 - August 22, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be\"\u003e\u003ccode\u003ef19ad94\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.34.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20030\"\u003e#20030\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c\"\u003e\u003ccode\u003eb48fa20\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda\"\u003e\u003ccode\u003e4bce8a2\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b\"\u003e\u003ccode\u003e0c9999c\u003c/code\u003e\u003c/a\u003e refactor: prefer default options in \u003ccode\u003egrouped-accessor-pairs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20028\"\u003e#20028\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232\"\u003e\u003ccode\u003e0b4a590\u003c/code\u003e\u003c/a\u003e docs: make rulesdir deprecation clearer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20018\"\u003e#20018\u003c/a\u003e) (Domenico Gemoli)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c\"\u003e\u003ccode\u003e9b89903\u003c/code\u003e\u003c/a\u003e fix: default value of accessor-pairs option in rule.d.ts file (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20024\"\u003e#20024\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d\"\u003e\u003ccode\u003e6c07420\u003c/code\u003e\u003c/a\u003e fix: fix spurious failure in neostandard integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20023\"\u003e#20023\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b\"\u003e\u003ccode\u003e676f4ac\u003c/code\u003e\u003c/a\u003e fix: allow scientific notation with trailing zeros matching exponent (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20002\"\u003e#20002\u003c/a\u003e) (Sweta Tanwar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522\"\u003e\u003ccode\u003e327c672\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/d503f1981354c7b86e423879846c61e0405af8fe\"\u003e\u003ccode\u003ed503f19\u003c/code\u003e\u003c/a\u003e ci: fix \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20010\"\u003e#20010\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33\"\u003e\u003ccode\u003e0bb777a\u003c/code\u003e\u003c/a\u003e feat: multithread linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19794\"\u003e#19794\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bf2622991f5b892610a8c3343ff16519e5fd7a79\"\u003e\u003ccode\u003ebf26229\u003c/code\u003e\u003c/a\u003e docs: Fix typo in core-concepts/index.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20009\"\u003e#20009\u003c/a\u003e) (Tobias Hernstig)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab\"\u003e\u003ccode\u003e43a5f9e\u003c/code\u003e\u003c/a\u003e feat: add eslint-plugin-regexp to eslint-config-eslint base config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19951\"\u003e#19951\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883\"\u003e\u003ccode\u003ee2dc67d\u003c/code\u003e\u003c/a\u003e ci: centralize \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19994\"\u003e#19994\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a\"\u003e\u003ccode\u003e7093cb8\u003c/code\u003e\u003c/a\u003e ci: bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20005\"\u003e#20005\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a\"\u003e\u003ccode\u003e2309327\u003c/code\u003e\u003c/a\u003e docs: fix typo in the \u0026quot;Configuring Rules\u0026quot; section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20001\"\u003e#20001\u003c/a\u003e) (ghazi-git)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29\"\u003e\u003ccode\u003e2b87e21\u003c/code\u003e\u003c/a\u003e docs: [no-else-return] clarify sample code. (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19991\"\u003e#19991\u003c/a\u003e) (Yuki Takada (Yukinosuke Takada))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a\"\u003e\u003ccode\u003ec36570c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b8875f67a7bc99824f19147f4a669be7e98f3eee\"\u003e\u003ccode\u003eb8875f6\u003c/code\u003e\u003c/a\u003e 9.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2e455fb433c4cae19572d75d866392f3b5a677d0\"\u003e\u003ccode\u003e2e455fb\u003c/code\u003e\u003c/a\u003e Build: changelog update for 9.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be\"\u003e\u003ccode\u003ef19ad94\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.34.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20030\"\u003e#20030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c\"\u003e\u003ccode\u003eb48fa20\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda\"\u003e\u003ccode\u003e4bce8a2\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b\"\u003e\u003ccode\u003e0c9999c\u003c/code\u003e\u003c/a\u003e refactor: prefer default options in \u003ccode\u003egrouped-accessor-pairs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20028\"\u003e#20028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232\"\u003e\u003ccode\u003e0b4a590\u003c/code\u003e\u003c/a\u003e docs: make rulesdir deprecation clearer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c\"\u003e\u003ccode\u003e9b89903\u003c/code\u003e\u003c/a\u003e fix: default value of accessor-pairs option in rule.d.ts file (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20024\"\u003e#20024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d\"\u003e\u003ccode\u003e6c07420\u003c/code\u003e\u003c/a\u003e fix: fix spurious failure in neostandard integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b\"\u003e\u003ccode\u003e676f4ac\u003c/code\u003e\u003c/a\u003e fix: allow scientific notation with trailing zeros matching exponent (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20002\"\u003e#20002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.33.0...v9.34.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 15.5.0 to 15.5.2\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\u003ev15.5.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: disable unknownatrules lint rule entirely (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83059\"\u003e#83059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erevert: add ?dpl to fonts in /_next/static/media (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83062\"\u003e#83062\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: aliased navigations should apply scroll handling (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82900\"\u003e#82900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: fix invalid NFT entry with file behind symlink (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82887\"\u003e#82887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: typesafe linking to route handlers and pages API routes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82858\"\u003e#82858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: change \u0026quot;noUnknownAtRules\u0026quot; to \u0026quot;warn\u0026quot; for Biome (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82974\"\u003e#82974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add path normalization to getRelativePath for Windows (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82918\"\u003e#82918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add typesafety with config.typedRoutes to redirect() and permanentRedirect() (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82860\"\u003e#82860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid importing types that will be unused (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82856\"\u003e#82856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update the config.api.responseLimit type (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82852\"\u003e#82852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update validation return types (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82854\"\u003e#82854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mischnic\"\u003e\u003ccode\u003e@​mischnic\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1-canary.28\u003c/h2\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[codemod] return origin src in viewport mod if not changed: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83435\"\u003e#83435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(next/image): introduce \u003ccode\u003epreload\u003c/code\u003e prop and deprecated \u003ccode\u003epriority\u003c/code\u003e prop: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83351\"\u003e#83351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[metadata] use generateStaticParams for getImageMetadata: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83374\"\u003e#83374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Include CSP nonce in next/dynamic preload: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/81999\"\u003e#81999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Segment Cache] use \u003ccode\u003eloading\u003c/code\u003e from dynamic response for unprefetched navigations: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83305\"\u003e#83305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade React from \u003ccode\u003e3302d1f7-20250903\u003c/code\u003e to \u003ccode\u003eb9a04536-20250904\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83446\"\u003e#83446\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: add prerender snapshot for metadata-dynamic-routes test: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83432\"\u003e#83432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Fix broken getImageProps sample code: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83436\"\u003e#83436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eauto-enable errors.json merge driver: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83420\"\u003e#83420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Improve handling of symlink resolution errors in track_glob and read_glob: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83357\"\u003e#83357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack development test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83407\"\u003e#83407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack production test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83408\"\u003e#83408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Add an execution test for the behavior when a module throws an error: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83451\"\u003e#83451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/497ec6aa08a33f9e2d65a5c8461f550c2549d3e6\"\u003e\u003ccode\u003e497ec6a\u003c/code\u003e\u003c/a\u003e v15.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/cc68ced55210aca1716daabefb5aa2006bc3d024\"\u003e\u003ccode\u003ecc68ced\u003c/code\u003e\u003c/a\u003e v15.5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v15.5.2/packages/eslint-config-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.1.3\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\u003e30.1.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eunstable_mockModule\u003c/code\u003e with \u003ccode\u003enode:\u003c/code\u003e prefixed core modules.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Correct snapshot header regexp to work with newline across OSes (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15803\"\u003e#15803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15800\"\u003e#15800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-leak-detector]\u003c/code\u003e Configurable GC aggressiveness regarding to V8 heap snapshot generation (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15793/\"\u003e#15793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Reduce redundant ReferenceError messages\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-core]\u003c/code\u003e Include test modules that failed to load when --onlyFailures is active\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e`[jest-snapshot-utils] Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15787\"\u003e#15787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Fix \u003ccode\u003eit.concurrent\u003c/code\u003e not working with \u003ccode\u003edescribe.skip\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15765\"\u003e#15765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot]\u003c/code\u003e Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Importing from \u003ccode\u003e@jest/globals\u003c/code\u003e in more than one file no longer breaks relative paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/15772\"\u003e#15772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChore\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Update docblock for \u003ccode\u003etoContain()\u003c/code\u003e to display info on substring check (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15789\"\u003e#15789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Make 'deepCyclicCopyObject' safer by setting descriptors to a null-prototype object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15689\"\u003e#15689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Make garbage collection protection property writable (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15689\"\u003e#15689\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/blob/main/CHANGELOG.md\"\u003ehttps://github.com/jestjs/jest/blob/main/CHANGELOG.md\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eJest 30.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Implement the \u003ccode\u003edefaultAsyncResolver\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15679\"\u003e#15679\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.1.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eunstable_mockModule\u003c/code\u003e with \u003ccode\u003enode:\u003c/code\u003e prefixed core modules.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Correct snapshot header regexp to work with newline across OSes (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15803\"\u003e#15803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15800\"\u003e#15800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-leak-detector]\u003c/code\u003e Configurable GC aggressiveness regarding to V8 heap snapshot generation (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15793/\"\u003e#15793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Reduce redundant ReferenceError messages\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-core]\u003c/code\u003e Include test modules that failed to load when --onlyFailures is active\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15787\"\u003e#15787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Fix \u003ccode\u003eit.concurrent\u003c/code\u003e not working with \u003ccode\u003edescribe.skip\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15765\"\u003e#15765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot]\u003c/code\u003e Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Importing from \u003ccode\u003e@jest/globals\u003c/code\u003e in more than one file no longer breaks relative paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/15772\"\u003e#15772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChore\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Update docblock for \u003ccode\u003etoContain()\u003c/code\u003e to display info on substring check (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15789\"\u003e#15789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.0.5\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003etestMatch\u003c/code\u003e to take a string value\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-worker]\u003c/code\u003e Let \u003ccode\u003eworkerIdleMemoryLimit\u003c/code\u003e accept 0 to always restart worker child processes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Fix \u003ccode\u003ebigint\u003c/code\u003e error (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15702\"\u003e#15702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.0.4\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/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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4d5f41d0885c1d9630c81b4fd47f74ab0615e18f\"\u003e\u003ccode\u003e4d5f41d\u003c/code\u003e\u003c/a\u003e v30.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/22236cf58b66039f81893537c90dee290bab427f\"\u003e\u003ccode\u003e22236cf\u003c/code\u003e\u003c/a\u003e v30.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/f4296d2bc85c1405f84ddf613a25d0bc3766b7e5\"\u003e\u003ccode\u003ef4296d2\u003c/code\u003e\u003c/a\u003e v30.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d4a6c94daf4f6e63c949f2d0ed907aeaee840d2f\"\u003e\u003ccode\u003ed4a6c94\u003c/code\u003e\u003c/a\u003e v30.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/393acbfac31f64bb38dff23c89224797caded83c\"\u003e\u003ccode\u003e393acbf\u003c/code\u003e\u003c/a\u003e v30.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5ce865b4060189fe74cd486544816c079194a0f7\"\u003e\u003ccode\u003e5ce865b\u003c/code\u003e\u003c/a\u003e v30.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/469f665c2d3bea4a55a194ceebae88724b7202cd\"\u003e\u003ccode\u003e469f665\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.1.3/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 29.7.0 to 30.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Correct snapshot header regexp to work with newline across OSes (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15803\"\u003e#15803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15800\"\u003e#1580...\n\n_Description has been truncated_","html_url":"https://github.com/WORKFL0/cursor/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WORKFL0%2Fcursor/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"2710706491","node_id":"PR_kwDOPVD3Hc6hkhk7","number":11,"state":"closed","title":"chore(deps): bump pure-rand from 6.1.0 to 7.0.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":true,"comments_count":3,"pull_request":true,"closed_at":"2025-07-31T17:13:01.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-07-31T16:39:33.000Z","updated_at":"2025-07-31T17:13:01.000Z","time_to_close":2008,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"}],"path":null,"ecosystem":"npm"},"body":"Bumps [pure-rand](https://github.com/dubzzz/pure-rand) from 6.1.0 to 7.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dubzzz/pure-rand/blob/main/CHANGELOG.md\"\u003epure-rand's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c24bc93\"\u003ec24bc93\u003c/a\u003e 🐛 Properly define exports in package.json (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/2c94832\"\u003e2c94832\u003c/a\u003e 🏷️ Move to \u0026quot;import type\u0026quot; when feasible (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/736\"\u003e#736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/3741a63\"\u003e3741a63\u003c/a\u003e 🏷️ Mark \u003ccode\u003egetState\u003c/code\u003e as compulsory on \u003ccode\u003eRandomGenerator\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/228c73d\"\u003e228c73d\u003c/a\u003e ⚡️ Faster uniform distributions on bigint (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/86869a1\"\u003e86869a1\u003c/a\u003e ✨ Expose generators and distributions (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/680a672\"\u003e680a672\u003c/a\u003e 🚚 Do not export mersenne as default (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/e1758c0\"\u003ee1758c0\u003c/a\u003e 🚚 Split ArrayInt into two files (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/0c356cf\"\u003e0c356cf\u003c/a\u003e 🚚 Moving files around (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/734\"\u003e#734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/6d9b7b4\"\u003e6d9b7b4\u003c/a\u003e 📝 Document generation of float/double (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/715\"\u003e#715\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/dubzzz/pure-rand/commit/2248506b66d969d1a8b477a4dde8e24cbac33e6a\"\u003e\u003ccode\u003e2248506\u003c/code\u003e\u003c/a\u003e 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/ff391d5b098201d82883e54db1ff1f374a898fe7\"\u003e\u003ccode\u003eff391d5\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c24bc936c3258d67a57ef48e1818882be2844ec0\"\u003e\u003ccode\u003ec24bc93\u003c/code\u003e\u003c/a\u003e 🐛 Properly define exports in package.json (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c5cbdf2d3f2e8e259e077eaa615a7a924ce3f067\"\u003e\u003ccode\u003ec5cbdf2\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency replace-in-file to v8 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/a53da55c2873134952c65d7399bf01c86ef7b39c\"\u003e\u003ccode\u003ea53da55\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency tinybench to v3 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/744\"\u003e#744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/fe8e536791096917dccc95bd07e5e694eafe1549\"\u003e\u003ccode\u003efe8e536\u003c/code\u003e\u003c/a\u003e ⬆️ Update codecov/codecov-action action to v5 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c6bd65beba5886682b437011c8cd64a29c88f9ce\"\u003e\u003ccode\u003ec6bd65b\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency prettier to v3.4.2 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/b3f987765a7a3e09bda96ec98b46dd2aee3b9ad5\"\u003e\u003ccode\u003eb3f9877\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.13.1 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/753\"\u003e#753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/0f2d7ffa7edc18a5e2bd49e71a5ea205e74ad438\"\u003e\u003ccode\u003e0f2d7ff\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency fast-check to ^3.23.2 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/7f7f0f4b6465fc2699d18bbaaeb49b98570a029e\"\u003e\u003ccode\u003e7f7f0f4\u003c/code\u003e\u003c/a\u003e ⬆️ Update actions/setup-node action to v4.2.0 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dubzzz/pure-rand/compare/v6.1.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pure-rand\u0026package-manager=npm_and_yarn\u0026previous-version=6.1.0\u0026new-version=7.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/part-avocado/prettyregex/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/part-avocado%2Fprettyregex/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"2696825199","node_id":"PR_kwDOPS-sR86gvklv","number":4,"state":"open","title":"chore(deps): Bump the major-updates group with 74 updates","user":"dependabot[bot]","labels":[],"assignees":["atani"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-07-26T09:07:19.000Z","updated_at":"2025-07-26T09:07:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"major-updates","update_count":74,"packages":[{"name":"@modelcontextprotocol/sdk","old_version":"0.5.0","new_version":"1.17.0","repository_url":"https://github.com/modelcontextprotocol/typescript-sdk"},{"name":"@types/node","old_version":"20.19.9","new_version":"24.1.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"audit-ci","old_version":"6.6.1","new_version":"7.1.0","repository_url":"https://github.com/IBM/audit-ci"},{"name":"eslint","old_version":"8.57.1","new_version":"9.32.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@types/jest","old_version":"29.5.14","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@eslint/eslintrc","old_version":"2.1.4","new_version":"3.3.1","repository_url":"https://github.com/eslint/eslintrc"},{"name":"@eslint/js","old_version":"8.57.1","new_version":"9.32.0","repository_url":"https://github.com/eslint/eslint"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@typescript-eslint/scope-manager","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/type-utils","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/types","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/utils","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/visitor-keys","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"type-fest","old_version":"0.20.2","new_version":"0.21.3","repository_url":"https://github.com/sindresorhus/type-fest"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.3.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"eslint-scope","old_version":"7.2.2","new_version":"8.4.0","repository_url":"https://github.com/eslint/js"},{"name":"espree","old_version":"9.6.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/js"},{"name":"expect","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"file-entry-cache","old_version":"6.0.1","new_version":"8.0.0","repository_url":"https://github.com/jaredwray/cacheable"},{"name":"flat-cache","old_version":"3.2.0","new_version":"4.0.1","repository_url":"https://github.com/jaredwray/cacheable"},{"name":"globals","old_version":"13.24.0","new_version":"14.0.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"pretty-format","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"ts-api-utils","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/JoshuaKGoldberg/ts-api-utils"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 74 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `0.5.0` | `1.17.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.9` | `24.1.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.21.0` | `8.38.0` |\n| [audit-ci](https://github.com/IBM/audit-ci) | `6.6.1` | `7.1.0` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `9.32.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.5` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` |\n| [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `2.1.4` | `3.3.1` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `8.57.1` | `9.32.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.5` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.5` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.5` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.5` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.0.5` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.5` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.5` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.5` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.5` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.1` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.5` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.5` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.5` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.5` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `6.21.0` | `8.38.0` |\n| [type-fest](https://github.com/sindresorhus/type-fest) | `0.20.2` | `0.21.3` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.5` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.1` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.1` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.3.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [eslint-scope](https://github.com/eslint/js/tree/HEAD/packages/eslint-scope) | `7.2.2` | `8.4.0` |\n| [espree](https://github.com/eslint/js/tree/HEAD/packages/espree) | `9.6.1` | `10.4.0` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.0.5` |\n| [file-entry-cache](https://github.com/jaredwray/cacheable/tree/HEAD/packages/file-entry-cache) | `6.0.1` | `8.0.0` |\n| [flat-cache](https://github.com/jaredwray/cacheable/tree/HEAD/packages/flat-cache) | `3.2.0` | `4.0.1` |\n| [globals](https://github.com/sindresorhus/globals) | `13.24.0` | `14.0.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.5` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.5` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.5` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.5` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.0.5` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.1` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.5` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.5` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.5` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.5` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.0.5` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.0.5` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.5` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.1` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.5` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.5` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.5` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.5` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.5` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.5` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.5` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.5` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.5` |\n| [pretty-format](https://github.com/jestjs/jest/tree/HEAD/packages/pretty-format) | `29.7.0` | `30.0.5` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [ts-api-utils](https://github.com/JoshuaKGoldberg/ts-api-utils) | `1.4.3` | `2.1.0` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n\nUpdates `@modelcontextprotocol/sdk` from 0.5.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/releases\"\u003e\u003ccode\u003e@​modelcontextprotocol/sdk\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CODEOWNERS file for sdk by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/781\"\u003emodelcontextprotocol/typescript-sdk#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd more robust base64 check by \u003ca href=\"https://github.com/cliffhall\"\u003e\u003ccode\u003e@​cliffhall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/786\"\u003emodelcontextprotocol/typescript-sdk#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate codeowners by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/803\"\u003emodelcontextprotocol/typescript-sdk#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indent by \u003ca href=\"https://github.com/jiec-msft\"\u003e\u003ccode\u003e@​jiec-msft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/807\"\u003emodelcontextprotocol/typescript-sdk#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Explicitly declare accpet type to json when exchanging oauth token by \u003ca href=\"https://github.com/JoJoJoJoJoJoJo\"\u003e\u003ccode\u003e@​JoJoJoJoJoJoJo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/801\"\u003emodelcontextprotocol/typescript-sdk#801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support oidc discovery in client sdk by \u003ca href=\"https://github.com/xiaoyijun\"\u003e\u003ccode\u003e@​xiaoyijun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/652\"\u003emodelcontextprotocol/typescript-sdk#652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove extraneous code block in README.md by \u003ca href=\"https://github.com/sd0ric4\"\u003e\u003ccode\u003e@​sd0ric4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/791\"\u003emodelcontextprotocol/typescript-sdk#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump form-data from 4.0.2 to 4.0.4 in the npm_and_yarn group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/798\"\u003emodelcontextprotocol/typescript-sdk#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version 1.17.0 by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/810\"\u003emodelcontextprotocol/typescript-sdk#810\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/jiec-msft\"\u003e\u003ccode\u003e@​jiec-msft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/807\"\u003emodelcontextprotocol/typescript-sdk#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sd0ric4\"\u003e\u003ccode\u003e@​sd0ric4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/791\"\u003emodelcontextprotocol/typescript-sdk#791\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/1.16.0...1.17.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/1.16.0...1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type compatibility test between SDK and spec types by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/729\"\u003emodelcontextprotocol/typescript-sdk#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd OIDC ID token support by \u003ca href=\"https://github.com/dankelleher\"\u003e\u003ccode\u003e@​dankelleher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/680\"\u003emodelcontextprotocol/typescript-sdk#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd prompt=consent for OIDC offline_access scope by \u003ca href=\"https://github.com/dankelleher\"\u003e\u003ccode\u003e@​dankelleher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/681\"\u003emodelcontextprotocol/typescript-sdk#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNon-critical: Readme syntax and typographical error fixes by \u003ca href=\"https://github.com/freakynit\"\u003e\u003ccode\u003e@​freakynit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/765\"\u003emodelcontextprotocol/typescript-sdk#765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake client side client_id generation configurable in the oauth router by \u003ca href=\"https://github.com/cdaguerre\"\u003e\u003ccode\u003e@​cdaguerre\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/734\"\u003emodelcontextprotocol/typescript-sdk#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding \u003ccode\u003einvalidateCredentials()\u003c/code\u003e to \u003ccode\u003eOAuthClientProvider\u003c/code\u003e by \u003ca href=\"https://github.com/geelen\"\u003e\u003ccode\u003e@​geelen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/570\"\u003emodelcontextprotocol/typescript-sdk#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use authorization_server_url as issuer when fetching metadata by \u003ca href=\"https://github.com/JoJoJoJoJoJoJo\"\u003e\u003ccode\u003e@​JoJoJoJoJoJoJo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/763\"\u003emodelcontextprotocol/typescript-sdk#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(protocol): Debounce notifications to improve network efficiancy by \u003ca href=\"https://github.com/jneums\"\u003e\u003ccode\u003e@​jneums\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/746\"\u003emodelcontextprotocol/typescript-sdk#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(731): StreamableHTTPClientTransport Fails to Reconnect on Non-Resumable Streams by \u003ca href=\"https://github.com/jneums\"\u003e\u003ccode\u003e@​jneums\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/732\"\u003emodelcontextprotocol/typescript-sdk#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: consistently use consumer-provided fetch function by \u003ca href=\"https://github.com/LucaButBoring\"\u003e\u003ccode\u003e@​LucaButBoring\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/767\"\u003emodelcontextprotocol/typescript-sdk#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix client id issuance date should only be sent when generated by \u003ca href=\"https://github.com/cdaguerre\"\u003e\u003ccode\u003e@​cdaguerre\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/775\"\u003emodelcontextprotocol/typescript-sdk#775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e1.16.0 by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/779\"\u003emodelcontextprotocol/typescript-sdk#779\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/dankelleher\"\u003e\u003ccode\u003e@​dankelleher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/680\"\u003emodelcontextprotocol/typescript-sdk#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freakynit\"\u003e\u003ccode\u003e@​freakynit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/765\"\u003emodelcontextprotocol/typescript-sdk#765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdaguerre\"\u003e\u003ccode\u003e@​cdaguerre\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/734\"\u003emodelcontextprotocol/typescript-sdk#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoJoJoJoJoJoJo\"\u003e\u003ccode\u003e@​JoJoJoJoJoJoJo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/763\"\u003emodelcontextprotocol/typescript-sdk#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jneums\"\u003e\u003ccode\u003e@​jneums\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/746\"\u003emodelcontextprotocol/typescript-sdk#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LucaButBoring\"\u003e\u003ccode\u003e@​LucaButBoring\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/767\"\u003emodelcontextprotocol/typescript-sdk#767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/1.15.1...1.16.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/1.15.1...1.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(client): Some mcp server need default env(\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/393\"\u003e#393\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/196\"\u003e#196\u003c/a\u003e) by \u003ca href=\"https://github.com/sunrabbit123\"\u003e\u003ccode\u003e@​sunrabbit123\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/394\"\u003emodelcontextprotocol/typescript-sdk#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add CORS configuration for browser-based MCP clients by \u003ca href=\"https://github.com/jerome3o-anthropic\"\u003e\u003ccode\u003e@​jerome3o-anthropic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/713\"\u003emodelcontextprotocol/typescript-sdk#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd onsessionclosed hook to StreamableHTTPServerTransport by \u003ca href=\"https://github.com/jerome3o-anthropic\"\u003e\u003ccode\u003e@​jerome3o-anthropic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/743\"\u003emodelcontextprotocol/typescript-sdk#743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd custom headers on initial _startOrAuth call by \u003ca href=\"https://github.com/anthonjn\"\u003e\u003ccode\u003e@​anthonjn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/318\"\u003emodelcontextprotocol/typescript-sdk#318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove stdio test Windows compatibility and refactor command logic by \u003ca href=\"https://github.com/HoberMin\"\u003e\u003ccode\u003e@​HoberMin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/284\"\u003emodelcontextprotocol/typescript-sdk#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/222db4a9c1ab4f023dc1dd1687212bddd522f48e\"\u003e\u003ccode\u003e222db4a\u003c/code\u003e\u003c/a\u003e Bump version 1.17.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/810\"\u003e#810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/b8ec6653eb1e0a177106debc1349ae1d986c1494\"\u003e\u003ccode\u003eb8ec665\u003c/code\u003e\u003c/a\u003e Bump form-data from 4.0.2 to 4.0.4 in the npm_and_yarn group across 1 directo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/1fc452ea0ef355429af06654cc3ea36a903935b8\"\u003e\u003ccode\u003e1fc452e\u003c/code\u003e\u003c/a\u003e fix: remove extraneous code block in README.md (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/bb7cccc3ba1b23ab911962a3b314d13c1db88d90\"\u003e\u003ccode\u003ebb7cccc\u003c/code\u003e\u003c/a\u003e feat: support oidc discovery in client sdk (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/62c608d8cef50de5b78a99b8db554f6dbc4b0b77\"\u003e\u003ccode\u003e62c608d\u003c/code\u003e\u003c/a\u003e fix: Explicitly declare accpet type to json when exchanging oauth token (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/801\"\u003e#801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/83168250f56bd4c5582bc7d075746f8f90ac2de4\"\u003e\u003ccode\u003e8316825\u003c/code\u003e\u003c/a\u003e Fix indent (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/807\"\u003e#807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/8e15edca0af05e7eaeb38e0880669a16f749e0f5\"\u003e\u003ccode\u003e8e15edc\u003c/code\u003e\u003c/a\u003e update codeowners (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/803\"\u003e#803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/c7887c082cb55ddc55d77523df88654ec4120dbf\"\u003e\u003ccode\u003ec7887c0\u003c/code\u003e\u003c/a\u003e Add more robust base64 check (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/0d545176f9ba852c97a18a40037abff40cd086c2\"\u003e\u003ccode\u003e0d54517\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file for dsk (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/781\"\u003e#781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/400b020c854d31112c8f29a2e280072731ed3d5f\"\u003e\u003ccode\u003e400b020\u003c/code\u003e\u003c/a\u003e 1.16.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/0.5.0...1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 20.19.9 to 24.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 6.21.0 to 8.38.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.38.0\u003c/h2\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e forbid optional chain in \u003ccode\u003eTemplateTaggedLiteral\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11391\"\u003e#11391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [consistent-generic-constructors] resolve conflict with \u003ccode\u003eisolatedDeclarations\u003c/code\u003e if enabled in \u003ccode\u003econstructor\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e infer tsconfigRootDir with v8 API (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11412\"\u003e#11412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e error on nested \u003ccode\u003eextends\u003c/code\u003e in \u003ccode\u003etseslint.config()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11361\"\u003e#11361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e ensure the token type of the property name is Identifier (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11329\"\u003e#11329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndrew Kazakov \u003ca href=\"https://github.com/andreww2012\"\u003e\u003ccode\u003e@​andreww2012\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\u003eMK \u003ca href=\"https://github.com/asdf93074\"\u003e\u003ccode\u003e@​asdf93074\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etao\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.37.0\u003c/h2\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e infer tsconfigRootDir from call stack (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11370\"\u003e#11370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381\"\u003e#11381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e add missing 'types' dependency to 'type-utils' (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11383\"\u003e#11383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e handle namespaced exports in specifier matching (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11380\"\u003e#11380\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBill Collins\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eRené \u003ca href=\"https://github.com/Renegade334\"\u003e\u003ccode\u003e@​Renegade334\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.36.0\u003c/h2\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [consistent-generic-constructors] resolve conflict with \u003ccode\u003eisolatedDeclarations\u003c/code\u003e if enabled in \u003ccode\u003econstructor\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndrew Kazakov \u003ca href=\"https://github.com/andreww2012\"\u003e\u003ccode\u003e@​andreww2012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381\"\u003e#11381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eYukihiro Hasegawa \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.1 (2025-06-30)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove prettier from eslint-plugin (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11339\"\u003e#11339\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbhijeet Singh \u003ca href=\"https://github.com/cseas\"\u003e\u003ccode\u003e@​cseas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.0 (2025-06-23)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-base-to-string] add checkUnknown Option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11128\"\u003e#11128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/d11e79e9c9edc9f6f5e66306e3b3d65f3149a760\"\u003e\u003ccode\u003ed11e79e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5ec8c589bf9742bcce72367f2fb195964cfa166a\"\u003e\u003ccode\u003e5ec8c58\u003c/code\u003e\u003c/a\u003e fix: disallow extra properties in rule options (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0e884c7cbd08b1cd071a67a4faef61a7a8d3ba68\"\u003e\u003ccode\u003e0e884c7\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [consistent-generic-constructors] resolve conflict with `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/816be172ce475f5f15373d70fb20c5e87b53c915\"\u003e\u003ccode\u003e816be17\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.37.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e1b310c24504dcd1ce817f0a0b9f30d7e0520d8f\"\u003e\u003ccode\u003ee1b310c\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unified-signatures] fix false positives for ignoreOverlo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/16c344ec7d274ea542157e0f19682dd1930ab838\"\u003e\u003ccode\u003e16c344e\u003c/code\u003e\u003c/a\u003e docs(website): remove stale list of checked expressions (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11384\"\u003e#11384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/84b7a2e905c2a82fda3015f01683525d019c9c3c\"\u003e\u003ccode\u003e84b7a2e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d1388fc0c9cd40dc3a32787e7ab04cb78bc904c9\"\u003e\u003ccode\u003ed1388fc\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-deprecated] should allow ignoring of deprecated value...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4a60d3e96cba7a4b8c2721c2d5fd15a68076bf4e\"\u003e\u003ccode\u003e4a60d3e\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [only-throw-error] document options (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11348\"\u003e#11348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1ca81c14ba904e52be6726eb20c79bbcab57243c\"\u003e\u003ccode\u003e1ca81c1\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): switch auto-generated test cases to hand-written in no-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.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 6.21.0 to 8.38.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.38.0\u003c/h2\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e forbid optional chain in \u003ccode\u003eTemplateTaggedLiteral\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11391\"\u003e#11391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [consistent-generic-constructors] resolve conflict with \u003ccode\u003eisolatedDeclarations\u003c/code\u003e if enabled in \u003ccode\u003econstructor\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e infer tsconfigRootDir with v8 API (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11412\"\u003e#11412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e error on nested \u003ccode\u003eextends\u003c/code\u003e in \u003ccode\u003etseslint.config()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11361\"\u003e#11361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e ensure the token type of the property name is Identifier (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11329\"\u003e#11329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndrew Kazakov \u003ca href=\"https://github.com/andreww2012\"\u003e\u003ccode\u003e@​andreww2012\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\u003eMK \u003ca href=\"https://github.com/asdf93074\"\u003e\u003ccode\u003e@​asdf93074\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etao\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.37.0\u003c/h2\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e infer tsconfigRootDir from call stack (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11370\"\u003e#11370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381\"\u003e#11381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e add missing 'types' dependency to 'type-utils' (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11383\"\u003e#11383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e handle namespaced exports in specifier matching (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11380\"\u003e#11380\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBill Collins\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eRené \u003ca href=\"https://github.com/Renegade334\"\u003e\u003ccode\u003e@​Renegade334\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.36.0\u003c/h2\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.1 (2025-06-30)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.0 (2025-06-23)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.34.1 (2025-06-16)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.33.1 (2025-06-02)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.33.0 (2025-05-26)\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/d11e79e9c9edc9f6f5e66306e3b3d65f3149a760\"\u003e\u003ccode\u003ed11e79e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/816be172ce475f5f15373d70fb20c5e87b53c915\"\u003e\u003ccode\u003e816be17\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.37.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/84b7a2e905c2a82fda3015f01683525d019c9c3c\"\u003e\u003ccode\u003e84b7a2e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e2ecca60d9e8486bb13e98b3e1a65d529bedef03\"\u003e\u003ccode\u003ee2ecca6\u003c/code\u003e\u003c/a\u003e chore: fix issues introduced by updated \u003ccode\u003enx\u003c/code\u003e configuration (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/11230\"\u003e#11230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f9bd7d86fc39eb2957de7eefdcd3ab9b6c9dc4a7\"\u003e\u003ccode\u003ef9bd7d8\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d19c9f383a2e345656b601aa42ec250293609019\"\u003e\u003ccode\u003ed19c9f3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.35.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ccd07914d933c3f7a284c9a7df5b1d6d40495fc5\"\u003e\u003ccode\u003eccd0791\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/936f35022c1e1357da82c4b958b7bff2563e2075\"\u003e\u003ccode\u003e936f350\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/dca57b3e6643fdd533f2939c5322ffb9c6044e63\"\u003e\u003ccode\u003edca57b3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.33.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `audit-ci` from 6.6.1 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/IBM/audit-ci/releases\"\u003eaudit-ci's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump audit-types to support Yarn v4 by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/338\"\u003eIBM/audit-ci#338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: braces audit by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/342\"\u003eIBM/audit-ci#342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTry yargs import by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/341\"\u003eIBM/audit-ci#341\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IBM/audit-ci/compare/v7.0.1...v7.1.0\"\u003ehttps://github.com/IBM/audit-ci/compare/v7.0.1...v7.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: add hideBin(process.argv)  \u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/334\"\u003e#334\u003c/a\u003e by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/335\"\u003eIBM/audit-ci#335\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IBM/audit-ci/compare/v7.0.0...v7.0.1\"\u003ehttps://github.com/IBM/audit-ci/compare/v7.0.0...v7.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003cp\u003eDo not use this release, use \u003ccode\u003ev7.0.1\u003c/code\u003e or greater!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BREAKING] feat: Improved scripting support and TypeScript tests by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/297\"\u003eIBM/audit-ci#297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Add tslib dependency for smaller size by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/313\"\u003eIBM/audit-ci#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BREAKING] Remove printing audit-ci version by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/310\"\u003eIBM/audit-ci#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sort all outputs for cleanliness and consistency by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/314\"\u003eIBM/audit-ci#314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport ESM by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/311\"\u003eIBM/audit-ci#311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix audits by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/321\"\u003eIBM/audit-ci#321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: dist/bin.js path by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/322\"\u003eIBM/audit-ci#322\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBREAKING: Require Node 18, support ESM and CJS by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/319\"\u003eIBM/audit-ci#319\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: auditer -\u0026gt; auditor by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/323\"\u003eIBM/audit-ci#323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd files for Yarn 3 by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/305\"\u003eIBM/audit-ci#305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IBM/audit-ci/compare/v6.6.1...v7.0.0\"\u003ehttps://github.com/IBM/audit-ci/compare/v6.6.1...v7.0.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/IBM/audit-ci/commit/aa1f7926e3f4f6b3c58fedae83f9953149050aad\"\u003e\u003ccode\u003eaa1f792\u003c/code\u003e\u003c/a\u003e Try yargs import (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/6b1df3f3a0d70a4686657b5a82a8c6abaa80c334\"\u003e\u003ccode\u003e6b1df3f\u003c/code\u003e\u003c/a\u003e fix: braces audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/bb052dc6b19b8a8bb7077c74e4e3002eb00bd99c\"\u003e\u003ccode\u003ebb052dc\u003c/code\u003e\u003c/a\u003e Bump audit-types to support Yarn v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/65f9e12c485da84c12e79377ed0771fdf9f287c7\"\u003e\u003ccode\u003e65f9e12\u003c/code\u003e\u003c/a\u003e Bump to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/38caac7bd285e6c7851672930d71f52d3fe8a35d\"\u003e\u003ccode\u003e38caac7\u003c/code\u003e\u003c/a\u003e fix: add hideBin(process.argv) fixes \u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/334\"\u003e#334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/3365cd78c5a4a1420af959349bc5f5526bd4cedd\"\u003e\u003ccode\u003e3365cd7\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/3aad5c64dce27bc37739939862faad4e4698c886\"\u003e\u003ccode\u003e3aad5c6\u003c/code\u003e\u003c/a\u003e Add files for Yarn 3 (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/bc67ffedeb7e0804ed17e991cd1b5381087e68c5\"\u003e\u003ccode\u003ebc67ffe\u003c/code\u003e\u003c/a\u003e fix: auditer -\u0026gt; auditor (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/323\"\u003e#323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/c863feed8b5140ed9bad06d7d4273c6e1dce2e58\"\u003e\u003ccode\u003ec863fee\u003c/code\u003e\u003c/a\u003e BREAKING: Require Node 18, support ESM and CJS (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/168a5977d15546a6afaf583e65b824f5be0f0d74\"\u003e\u003ccode\u003e168a597\u003c/code\u003e\u003c/a\u003e fix: dist/bin.js path (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/IBM/audit-ci/compare/v6.6.1...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 8.57.1 to 9.32.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.32.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1245000c5a81954d42f0c7eb670efe450c3bbad5\"\u003e\u003ccode\u003e1245000\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in core rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19828\"\u003e#19828\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0e957a7b5528f375a51e7c1a2fd1b03cdcd2af2d\"\u003e\u003ccode\u003e0e957a7\u003c/code\u003e\u003c/a\u003e feat: support typescript types in accessor rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19882\"\u003e#19882\u003c/a\u003e) (fnx)\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/960fd40dfd204af30726b49b6bec714fe49a606e\"\u003e\u003ccode\u003e960fd40\u003c/code\u003e\u003c/a\u003e fix: Upgrade \u003ccode\u003e@​eslint/js\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19971\"\u003e#19971\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbf23fa2f1c6058f6cb5c9f2f32460a15e75e596\"\u003e\u003ccode\u003ebbf23fa\u003c/code\u003e\u003c/a\u003e fix: Refactor reporting into FileReport (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19877\"\u003e#19877\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4988872f375890bf677ce1a1d92a505085b51fa\"\u003e\u003ccode\u003ed498887\u003c/code\u003e\u003c/a\u003e fix: bump \u003ccode\u003e@​eslint/plugin-kit\u003c/code\u003e to 0.3.4 to resolve vulnerability (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19965\"\u003e#19965\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f46fc6c137c951bc73cf3bd9446053c1b11f769b\"\u003e\u003ccode\u003ef46fc6c\u003c/code\u003e\u003c/a\u003e fix: report only global references in no-implied-eval (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19932\"\u003e#19932\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7863d26b7cfb03a81ec86f93439757ff60bf6afb\"\u003e\u003ccode\u003e7863d26\u003c/code\u003e\u003c/a\u003e fix: remove outdated types in \u003ccode\u003eParserOptions.ecmaFeatures\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19944\"\u003e#19944\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/317330552e2d276221c7f2dd9c1516ad8b41cc3c\"\u003e\u003ccode\u003e3173305\u003c/code\u003e\u003c/a\u003e fix: update execScript message in no-implied-eval rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19937\"\u003e#19937\u003c/a\u003e) (TKDev7)\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/86e7426e4463ca49ffa5c82e825ecb6aa19ca8a0\"\u003e\u003ccode\u003e86e7426\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27\"\u003e\u003ccode\u003e50de1ce\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/74f01a3f5905aaa0902837ced2425209c09c048f\"\u003e\u003ccode\u003e74f01a3\u003c/code\u003e\u003c/a\u003e ci: unpin \u003ccode\u003ejiti\u003c/code\u003e to version \u003ccode\u003e^2.5.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19970\"\u003e#19970\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ab13813a7e7f3014c35490b351447ec43229951\"\u003e\u003ccode\u003e2ab1381\u003c/code\u003e\u003c/a\u003e ci: pin \u003ccode\u003ejiti\u003c/code\u003e to version 2.4.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19964\"\u003e#19964\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b7f75454695079f54b77fcdc9ebe3b9199d5ad30\"\u003e\u003ccode\u003eb7f7545\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003eSourceCode\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19953\"\u003e#19953\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f5a35e3b7cee17cd31fc02c24c3e74b42ee202bc\"\u003e\u003ccode\u003ef5a35e3\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in eslint-fuzzer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19960\"\u003e#19960\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e22af8c42d622d8d912ee7bedf49bf4283247fdc\"\u003e\u003ccode\u003ee22af8c\u003c/code\u003e\u003c/a\u003e refactor: use \u003ccode\u003eCustomRuleDefinitionType\u003c/code\u003e in \u003ccode\u003eJSRuleDefinition\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19949\"\u003e#19949\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643\"\u003e\u003ccode\u003ee855717\u003c/code\u003e\u003c/a\u003e chore: switch performance tests to hyperfine (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19919\"\u003e#19919\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5\"\u003e\u003ccode\u003e2f73a23\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003east-utils\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19948\"\u003e#19948\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7\"\u003e\u003ccode\u003ec565a53\u003c/code\u003e\u003c/a\u003e chore: exclude \u003ccode\u003efurther_reading_links.json\u003c/code\u003e from Prettier formatting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19943\"\u003e#19943\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.31.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/35cf44c22e36b1554486e7a75c870e86c10b83f8\"\u003e\u003ccode\u003e35cf44c\u003c/code\u003e\u003c/a\u003e feat: output full actual location in rule tester if different (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19904\"\u003e#19904\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a6a63259de6cb5642f69c7be429554bbcedca4c0\"\u003e\u003ccode\u003ea6a6325\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-loop-func\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19895\"\u003e#19895\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4682cdc6960279ee17f23899fbab6f58d881eadf\"\u003e\u003ccode\u003e4682cdc\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-undef-init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19894\"\u003e#19894\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/58482165eaf597cc5c58216a956c301ae87520b3\"\u003e\u003ccode\u003e5848216\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003einit-declarations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19893\"\u003e#19893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bb370b8e79f65ee32d9d89ecf249fb74a141ad22\"\u003e\u003ccode\u003ebb370b8\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-const-assign\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19892\"\u003e#19892\u003c/a\u003e) (Milos Djermanovic)\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/07fac6cafa0426b4d1ea12d9001f3955f19b286d\"\u003e\u003ccode\u003e07fac6c\u003c/code\u003e\u003c/a\u003e fix: retry on EMFILE when writing autofix results (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19926\"\u003e#19926\u003c/a\u003e) (TKDev7)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/28cc7abbb72b29b1cac6fc4253646a7839586064\"\u003e\u003ccode\u003e28cc7ab\u003c/code\u003e\u003c/a\u003e fix: Remove incorrect RuleContext types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19910\"\u003e#19910\u003c/a\u003e) (Nicholas C. Zakas)\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/664cb44ab03785bd200a792607a7e20faa2d4b28\"\u003e\u003ccode\u003e664cb44\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/40dbe2a43f83d366e9026faec70293512fb61ca2\"\u003e\u003ccode\u003e40dbe2a\u003c/code\u003e\u003c/a\u003e docs: fix mismatch between \u003ccode\u003eglobalIgnores()\u003c/code\u003e code and text (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19914\"\u003e#19914\u003c/a\u003e) (MaoShizhong)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5a0069d60815246cf24e1c96125540792c2507ef\"\u003e\u003ccode\u003e5a0069d\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/fef04b5c7fea99362d67b31b8e98cd4914020ed3\"\u003e\u003ccode\u003efef04b5\u003c/code\u003e\u003c/a\u003e docs: Update working on issues info (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19902\"\u003e#19902\u003c/a\u003e) (Nicholas C. Zakas)\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/3ddd454c1c73294e5af7905d60d03fac162f1b3e\"\u003e\u003ccode\u003e3ddd454\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.31.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19935\"\u003e#19935\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d5054e5454a537e9ade238c768c262c6c592cbc1\"\u003e\u003ccode\u003ed5054e5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4a3781fe7c11fad7b206c3c694655486ddd187\"\u003e\u003ccode\u003e0f4a378\u003c/code\u003e\u003c/a\u003e chore: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19933\"\u003e#19933\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/76c2340c368f96db77439b5cd1df0196cc39bf3e\"\u003e\u003ccode\u003e76c2340\u003c/code\u003e\u003c/a\u003e chore: bump mocha to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19917\"\u003e#19917\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/eslint/blob/main/CHANGELOG.md\"\u003eeslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev9.32.0 - July 25, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/960fd40dfd204af30726b49b6bec714fe49a606e\"\u003e\u003ccode\u003e960fd40\u003c/code\u003e\u003c/a\u003e fix: Upgrade \u003ccode\u003e@​eslint/js\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19971\"\u003e#19971\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27\"\u003e\u003ccode\u003e50de1ce\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbf23fa2f1c6058f6cb5c9f2f32460a15e75e596\"\u003e\u003ccode\u003ebbf23fa\u003c/code\u003e\u003c/a\u003e fix: Refactor reporting into FileReport (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19877\"\u003e#19877\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/74f01a3f5905aaa0902837ced2425209c09c048f\"\u003e\u003ccode\u003e74f01a3\u003c/code\u003e\u003c/a\u003e ci: unpin \u003ccode\u003ejiti\u003c/code\u003e to version \u003ccode\u003e^2.5.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19970\"\u003e#19970\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4988872f375890bf677ce1a1d92a505085b51fa\"\u003e\u003ccode\u003ed498887\u003c/code\u003e\u003c/a\u003e fix: bump \u003ccode\u003e@​eslint/plugin-kit\u003c/code\u003e to 0.3.4 to resolve vulnerability (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19965\"\u003e#19965\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ab13813a7e7f3014c35490b351447ec43229951\"\u003e\u003ccode\u003e2ab1381\u003c/code\u003e\u003c/a\u003e ci: pin \u003ccode\u003ejiti\u003c/code\u003e to version 2.4.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19964\"\u003e#19964\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b7f75454695079f54b77fcdc9ebe3b9199d5ad30\"\u003e\u003ccode\u003eb7f7545\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003eSourceCode\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19953\"\u003e#19953\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f5a35e3b7cee17cd31fc02c24c3e74b42ee202bc\"\u003e\u003ccode\u003ef5a35e3\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in eslint-fuzzer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19960\"\u003e#19960\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f46fc6c137c951bc73cf3bd9446053c1b11f769b\"\u003e\u003ccode\u003ef46fc6c\u003c/code\u003e\u003c/a\u003e fix: report only global references in no-implied-eval (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19932\"\u003e#19932\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/86e7426e4463ca49ffa5c82e825ecb6aa19ca8a0\"\u003e\u003ccode\u003e86e7426\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/e22af8c42d622d8d912ee7bedf49bf4283247fdc\"\u003e\u003ccode\u003ee22af8c\u003c/code\u003e\u003c/a\u003e refactor: use \u003ccode\u003eCustomRuleDefinitionType\u003c/code\u003e in \u003ccode\u003eJSRuleDefinition\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19949\"\u003e#19949\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1245000c5a81954d42f0c7eb670efe450c3bbad5\"\u003e\u003ccode\u003e1245000\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in core rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19828\"\u003e#19828\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643\"\u003e\u003ccode\u003ee855717\u003c/code\u003e\u003c/a\u003e chore: switch performance tests to hyperfine (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19919\"\u003e#19919\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0e957a7b5528f375a51e7c1a2fd1b03cdcd2af2d\"\u003e\u003ccode\u003e0e957a7\u003c/code\u003e\u003c/a\u003e feat: support typescript types in accessor rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19882\"\u003e#19882\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5\"\u003e\u003ccode\u003e2f73a23\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003east-utils\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19948\"\u003e#19948\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7863d26b7cfb03a81ec86f93439757ff60bf6afb\"\u003e\u003ccode\u003e7863d26\u003c/code\u003e\u003c/a\u003e fix: remove outdated types in \u003ccode\u003eParserOptions.ecmaFeatures\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19944\"\u003e#19944\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7\"\u003e\u003ccode\u003ec565a53\u003c/code\u003e\u003c/a\u003e chore: exclude \u003ccode\u003efurther_reading_links.json\u003c/code\u003e from Prettier formatting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19943\"\u003e#19943\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/317330552e2d276221c7f2dd9c1516ad8b41cc3c\"\u003e\u003ccode\u003e3173305\u003c/code\u003e\u003c/a\u003e fix: update execScript message in no-implied-eval rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19937\"\u003e#19937\u003c/a\u003e) (TKDev7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev9.31.0 - July 11, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ddd454c1c73294e5af7905d60d03fac162f1b3e\"\u003e\u003ccode\u003e3ddd454\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.31.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19935\"\u003e#19935\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d5054e5454a537e9ade238c768c262c6c592cbc1\"\u003e\u003ccode\u003ed5054e5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4a3781fe7c11fad7b206c3c694655486ddd187\"\u003e\u003ccode\u003e0f4a378\u003c/code\u003e\u003c/a\u003e chore: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19933\"\u003e#19933\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/664cb44ab03785bd200a792607a7e20faa2d4b28\"\u003e\u003ccode\u003e664cb44\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/07fac6cafa0426b4d1ea12d9001f3955f19b286d\"\u003e\u003ccode\u003e07fac6c\u003c/code\u003e\u003c/a\u003e fix: retry on EMFILE when writing autofix results (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19926\"\u003e#19926\u003c/a\u003e) (TKDev7)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/35cf44c22e36b1554486e7a75c870e86c10b83f8\"\u003e\u003ccode\u003e35cf44c\u003c/code\u003e\u003c/a\u003e feat: output full actual location in rule tester if different (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19904\"\u003e#19904\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/40dbe2a43f83d366e9026faec70293512fb61ca2\"\u003e\u003ccode\u003e40dbe2a\u003c/code\u003e\u003c/a\u003e docs: fix mismatch between \u003ccode\u003eglobalIgnores()\u003c/code\u003e code and text (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19914\"\u003e#19914\u003c/a\u003e) (MaoShizhong)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/76c2340c368f96db77439b5cd1df0196cc39bf3e\"\u003e\u003ccode\u003e76c2340\u003c/code\u003e\u003c/a\u003e chore: bump mocha to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19917\"\u003e#19917\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/28cc7abbb72b29b1cac6fc4253646a7839586064\"\u003e\u003ccode\u003e28cc7ab\u003c/code\u003e\u003c/a\u003e fix: Remove incorrect RuleContext types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19910\"\u003e#19910\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a6a63259de6cb5642f69c7be429554bbcedca4c0\"\u003e\u003ccode\u003ea6a6325\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-loop-func\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19895\"\u003e#19895\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4682cdc6960279ee17f23899fbab6f58d881eadf\"\u003e\u003ccode\u003e4682cdc\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-undef-init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19894\"\u003e#19894\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/58482165eaf597cc5c58216a956c301ae87520b3\"\u003e\u003ccode\u003e5848216\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003einit-declarations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19893\"\u003e#19893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bb370b8e79f65ee32d9d89ecf249fb74a141ad22\"\u003e\u003ccode\u003ebb370b8\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-const-assign\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19892\"\u003e#19892\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5a0069d60815246cf24e1c96125540792c2507ef\"\u003e\u003ccode\u003e5a0069d\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/fef04b5c7fea99362d67b31b8e98cd4914020ed3\"\u003e\u003ccode\u003efef04b5\u003c/code\u003e\u003c/a\u003e docs: Update working on issues info (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19902\"\u003e#19902\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev9.30.1 - July 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b035f747c6e6d1c7a299c90b0ed0b8109cf24a53\"\u003e\u003ccode\u003eb035f74\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.30.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19906\"\u003e#19906\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b3dbc16563cb7036d75edff9814e17053a645321\"\u003e\u003ccode\u003eb3dbc16\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e91bb870f8c6e38baa508f18048cd2a2d04b8b9c\"\u003e\u003ccode\u003ee91bb87\u003c/code\u003e\u003c/a\u003e fix: allow separate default and named type imports (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19899\"\u003e#19899\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ab7c62598a9fca498e495d45029ae92fd5fb9bf3\"\u003e\u003ccode\u003eab7c625\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/dae1e5bb27db0e846efbe3026210013b42817838\"\u003e\u003ccode\u003edae1e5b\u003c/code\u003e\u003c/a\u003e docs: update jsdoc's link (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19896\"\u003e#19896\u003c/a\u003e) (JamesVanWaza)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev9.30.0 - June 27, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b6491cd4b8eec44d4a3f8dea1b71151e8dd0230\"\u003e\u003ccode\u003e2b6491c\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.30.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19889\"\u003e#19889\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2364031090daafe34e80904c32065bfe4692d7a2\"\u003e\u003ccode\u003e2364031\u003c/code\u003e\u003c/a\u003e 9.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a0e62e2739a5e214b1d371eda76f6a3b664e222a\"\u003e\u003ccode\u003ea0e62e2\u003c/code\u003e\u003c/a\u003e Build: changelog update...\n\n_Description has been truncated_","html_url":"https://github.com/atani/mcp-server-macos-reminders/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/atani%2Fmcp-server-macos-reminders/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"3149545252","node_id":"PR_kwDOODlR786asXrA","number":210,"state":"open","title":"deps(deps): bump the security-updates group with 78 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["ken-guru"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-16T10:54:11.000Z","updated_at":"2025-06-18T12:06:17.980Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"security-updates","update_count":78,"packages":[{"name":"@types/node","old_version":"22.15.29","new_version":"24.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@types/jest","old_version":"29.5.14","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest-environment-jsdom","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"tough-cookie","old_version":"4.1.4","new_version":"5.1.2","repository_url":"https://github.com/salesforce/tough-cookie"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinclair/typebox","old_version":"0.27.8","new_version":"0.34.35","repository_url":"https://github.com/sinclairzx81/typebox"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/jsdom","old_version":"20.0.1","new_version":"21.1.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"agent-base","old_version":"6.0.2","new_version":"7.1.3","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"caniuse-lite","old_version":"1.0.30001721","new_version":"1.0.30001723","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.2.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"cssstyle","old_version":"2.3.0","new_version":"4.4.0","repository_url":"https://github.com/jsdom/cssstyle"},{"name":"data-urls","old_version":"3.0.2","new_version":"5.0.0","repository_url":"https://github.com/jsdom/data-urls"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.167","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"espree","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/js"},{"name":"expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"universalify","old_version":"0.2.0","new_version":"2.0.1","repository_url":"https://github.com/RyanZim/universalify"},{"name":"html-encoding-sniffer","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/html-encoding-sniffer"},{"name":"http-proxy-agent","old_version":"5.0.0","new_version":"7.0.2","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"https-proxy-agent","old_version":"5.0.1","new_version":"7.0.6","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jsdom","old_version":"20.0.3","new_version":"26.1.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"pump","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/mafintosh/pump"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"fdir","old_version":"6.4.5","new_version":"6.4.6","repository_url":"https://github.com/thecodrr/fdir"},{"name":"tr46","old_version":"3.0.0","new_version":"5.1.1","repository_url":"https://github.com/jsdom/tr46"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"unrs-resolver","old_version":"1.7.11","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"w3c-xmlserializer","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/w3c-xmlserializer"},{"name":"whatwg-encoding","old_version":"2.0.0","new_version":"3.1.1","repository_url":"https://github.com/jsdom/whatwg-encoding"},{"name":"whatwg-mimetype","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/whatwg-mimetype"},{"name":"whatwg-url","old_version":"11.0.0","new_version":"14.2.0","repository_url":"https://github.com/jsdom/whatwg-url"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"},{"name":"xml-name-validator","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/xml-name-validator"}],"path":null,"ecosystem":"npm"},"body":"Bumps the security-updates group with 78 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.29` | `24.0.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `29.7.0` | `30.0.0` |\n| [tough-cookie](https://github.com/salesforce/tough-cookie) | `4.1.4` | `5.1.2` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.0` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.0` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/typebox) | `0.27.8` | `0.34.35` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) | `20.0.1` | `21.1.7` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [agent-base](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/agent-base) | `6.0.2` | `7.1.3` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.0` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.0` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.0` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001721` | `1.0.30001723` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.2.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [cssstyle](https://github.com/jsdom/cssstyle) | `2.3.0` | `4.4.0` |\n| [data-urls](https://github.com/jsdom/data-urls) | `3.0.2` | `5.0.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.167` |\n| [espree](https://github.com/eslint/js/tree/HEAD/packages/espree) | `10.3.0` | `10.4.0` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.0.0` |\n| [universalify](https://github.com/RyanZim/universalify) | `0.2.0` | `2.0.1` |\n| [html-encoding-sniffer](https://github.com/jsdom/html-encoding-sniffer) | `3.0.0` | `4.0.0` |\n| [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) | `5.0.0` | `7.0.2` |\n| [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) | `5.0.1` | `7.0.6` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.0.0` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `20.0.3` | `26.1.0` |\n| [pump](https://github.com/mafintosh/pump) | `3.0.2` | `3.0.3` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [fdir](https://github.com/thecodrr/fdir) | `6.4.5` | `6.4.6` |\n| [tr46](https://github.com/jsdom/tr46) | `3.0.0` | `5.1.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.7.11` | `1.9.0` |\n| [w3c-xmlserializer](https://github.com/jsdom/w3c-xmlserializer) | `4.0.0` | `5.0.0` |\n| [whatwg-encoding](https://github.com/jsdom/whatwg-encoding) | `2.0.0` | `3.1.1` |\n| [whatwg-mimetype](https://github.com/jsdom/whatwg-mimetype) | `3.0.0` | `4.0.0` |\n| [whatwg-url](https://github.com/jsdom/whatwg-url) | `11.0.0` | `14.2.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n| [xml-name-validator](https://github.com/jsdom/xml-name-validator) | `4.0.0` | `5.0.0` |\n\nUpdates `@types/node` from 22.15.29 to 24.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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\nUpdates `jest-environment-jsdom` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a123a3b667a178fb988662aaa1bc6308af759017\"\u003e\u003ccode\u003ea123a3b\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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 `tough-cookie` from 4.1.4 to 5.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/salesforce/tough-cookie/releases\"\u003etough-cookie's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression bug in \u003ccode\u003edomainMatch\u003c/code\u003e by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/500\"\u003esalesforce/tough-cookie#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare v5.1.2 by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/501\"\u003esalesforce/tough-cookie#501\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v5.1.1...v5.1.2\"\u003ehttps://github.com/salesforce/tough-cookie/compare/v5.1.1...v5.1.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: avoid nodejs modules by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/487\"\u003esalesforce/tough-cookie#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/490\"\u003esalesforce/tough-cookie#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.71 to 6.1.76 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/489\"\u003esalesforce/tough-cookie#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump eslint-config-prettier from 9.1.0 to 10.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/491\"\u003esalesforce/tough-cookie#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eisolated modules and almost isolated declarations by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/486\"\u003esalesforce/tough-cookie#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: auto-close spam PRs by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/493\"\u003esalesforce/tough-cookie#493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v5.1.0...v5.1.1\"\u003ehttps://github.com/salesforce/tough-cookie/compare/v5.1.0...v5.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eScheduled integration test with jsdom by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/450\"\u003esalesforce/tough-cookie#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/454\"\u003esalesforce/tough-cookie#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove cookies that expire at epoch time of \u003ccode\u003e0\u003c/code\u003e by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/457\"\u003esalesforce/tough-cookie#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore missing \u003ccode\u003eexpiryDate\u003c/code\u003e method by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/459\"\u003esalesforce/tough-cookie#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.41 to 6.1.48 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/461\"\u003esalesforce/tough-cookie#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/462\"\u003esalesforce/tough-cookie#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(path-match): avoid parsing path as regex by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/465\"\u003esalesforce/tough-cookie#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.48 to 6.1.57 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/466\"\u003esalesforce/tough-cookie#466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group with 8 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/467\"\u003esalesforce/tough-cookie#467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.57 to 6.1.65 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/468\"\u003esalesforce/tough-cookie#468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group across 1 directory with 8 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/471\"\u003esalesforce/tough-cookie#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: streamline package publishing by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/453\"\u003esalesforce/tough-cookie#453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group across 1 directory with 8 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/476\"\u003esalesforce/tough-cookie#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.65 to 6.1.71 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/478\"\u003esalesforce/tough-cookie#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix npm token config for publish by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/482\"\u003esalesforce/tough-cookie#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGive permissions for provenance generation by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/483\"\u003esalesforce/tough-cookie#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erevert: use runtime-agnostic \u003ccode\u003edomainToASCII\u003c/code\u003e by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/480\"\u003esalesforce/tough-cookie#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release v5.1.0 by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/484\"\u003esalesforce/tough-cookie#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v5.0.0...v5.1.0\"\u003ehttps://github.com/salesforce/tough-cookie/compare/v5.0.0...v5.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.0-rc.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eScheduled integration test with jsdom by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/450\"\u003esalesforce/tough-cookie#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/454\"\u003esalesforce/tough-cookie#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove cookies that expire at epoch time of \u003ccode\u003e0\u003c/code\u003e by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/457\"\u003esalesforce/tough-cookie#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore missing \u003ccode\u003eexpiryDate\u003c/code\u003e method by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/459\"\u003esalesforce/tough-cookie#459\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/a2c72efe202a2050e9e201d5a911680fb7e1a19c\"\u003e\u003ccode\u003ea2c72ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/501\"\u003e#501\u003c/a\u003e from salesforce/prepare_v5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/7034c221775ce87d7027ff44ede9928d7af253cd\"\u003e\u003ccode\u003e7034c22\u003c/code\u003e\u003c/a\u003e 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/824b40159e80434b5f29fdf7de37646eb843e938\"\u003e\u003ccode\u003e824b401\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/500\"\u003e#500\u003c/a\u003e from salesforce/499_domain_match_fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/a312820a55667f74e92cd4fd8230b1bc82a7914a\"\u003e\u003ccode\u003ea312820\u003c/code\u003e\u003c/a\u003e Fix regression bug in \u003ccode\u003edomainMatch\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/9328fc4b2ba36c11ac56ec85b80ad276d3acf6d6\"\u003e\u003ccode\u003e9328fc4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/497\"\u003e#497\u003c/a\u003e from salesforce/wjh/release-v5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/28993365a0049b0025d9d67f6b11224c68d8476c\"\u003e\u003ccode\u003e2899336\u003c/code\u003e\u003c/a\u003e 5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/4954aedb999585162c2c896e7d38bb2284671288\"\u003e\u003ccode\u003e4954aed\u003c/code\u003e\u003c/a\u003e chore: npm audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/bb3e137d44421760ae49a9925f36c91961fe9b8a\"\u003e\u003ccode\u003ebb3e137\u003c/code\u003e\u003c/a\u003e chore: auto-close spam PRs (\u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/55ba3c68d8afa318ee04caed370e9cc694bb98c9\"\u003e\u003ccode\u003e55ba3c6\u003c/code\u003e\u003c/a\u003e isolated modules and almost isolated declarations (\u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/9fc37ef9323be10f428366c8ad9bc4f32531c784\"\u003e\u003ccode\u003e9fc37ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/491\"\u003e#491\u003c/a\u003e from salesforce/dependabot/npm_and_yarn/eslint-config...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v4.1.4...v5.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com...\n\n_Description has been truncated_","html_url":"https://github.com/ken-guru/github-copilot-agent-assisted-next-app/pull/210","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ken-guru%2Fgithub-copilot-agent-assisted-next-app/issues/210","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/210/packages"},{"uuid":"2590085824","node_id":"PR_kwDONFe-2c6aYZLA","number":45,"state":"closed","title":"Bump the major-updates group with 107 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-06-20T12:08:15.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-13T12:07:02.000Z","updated_at":"2025-06-20T12:08:16.000Z","time_to_close":604873,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"major-updates","update_count":107,"packages":[{"name":"@types/node","old_version":"22.13.10","new_version":"24.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@babel/code-frame","old_version":"7.26.2","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/compat-data","old_version":"7.26.8","new_version":"7.27.5","repository_url":"https://github.com/babel/babel"},{"name":"@babel/core","old_version":"7.26.10","new_version":"7.27.4","repository_url":"https://github.com/babel/babel"},{"name":"@babel/generator","old_version":"7.26.10","new_version":"7.27.5","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-compilation-targets","old_version":"7.26.5","new_version":"7.27.2","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-imports","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-transforms","old_version":"7.26.0","new_version":"7.27.3","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-plugin-utils","old_version":"7.26.5","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-string-parser","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-validator-identifier","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-validator-option","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helpers","old_version":"7.26.10","new_version":"7.27.6","repository_url":"https://github.com/babel/babel"},{"name":"@babel/parser","old_version":"7.26.10","new_version":"7.27.5","repository_url":"https://github.com/babel/babel"},{"name":"@babel/plugin-syntax-import-attributes","old_version":"7.26.0","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/plugin-syntax-jsx","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/plugin-syntax-typescript","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/template","old_version":"7.26.9","new_version":"7.27.2","repository_url":"https://github.com/babel/babel"},{"name":"@babel/traverse","old_version":"7.26.10","new_version":"7.27.4","repository_url":"https://github.com/babel/babel"},{"name":"@babel/types","old_version":"7.26.10","new_version":"7.27.6","repository_url":"https://github.com/babel/babel"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@napi-rs/wasm-runtime","old_version":"0.2.9","new_version":"0.2.10","repository_url":"https://github.com/napi-rs/napi-rs"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/babel__generator","old_version":"7.6.8","new_version":"7.27.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/babel__traverse","old_version":"7.20.6","new_version":"7.20.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsdom","old_version":"20.0.1","new_version":"21.1.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"@unrs/resolver-binding-darwin-arm64","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-darwin-x64","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-freebsd-x64","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm-gnueabihf","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm-musleabihf","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm64-musl","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-ppc64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-riscv64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-riscv64-musl","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-s390x-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-x64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-x64-musl","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-wasm32-wasi","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-win32-arm64-msvc","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-win32-ia32-msvc","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-win32-x64-msvc","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"agent-base","old_version":"6.0.2","new_version":"7.1.3","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"cssstyle","old_version":"2.3.0","new_version":"4.4.0","repository_url":"https://github.com/jsdom/cssstyle"},{"name":"data-urls","old_version":"3.0.2","new_version":"5.0.0","repository_url":"https://github.com/jsdom/data-urls"},{"name":"dedent","old_version":"1.5.3","new_version":"1.6.0","repository_url":"https://github.com/dmnd/dedent"},{"name":"entities","old_version":"4.5.0","new_version":"6.0.1","repository_url":"https://github.com/fb55/entities"},{"name":"html-encoding-sniffer","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/html-encoding-sniffer"},{"name":"http-proxy-agent","old_version":"5.0.0","new_version":"7.0.2","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"https-proxy-agent","old_version":"5.0.1","new_version":"7.0.6","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jsdom","old_version":"20.0.3","new_version":"26.1.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"nwsapi","old_version":"2.2.18","new_version":"2.2.20","repository_url":"https://github.com/dperini/nwsapi"},{"name":"parse5","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/inikulin/parse5"},{"name":"pirates","old_version":"4.0.6","new_version":"4.0.7","repository_url":"https://github.com/danez/pirates"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"tough-cookie","old_version":"4.1.4","new_version":"5.1.2","repository_url":"https://github.com/salesforce/tough-cookie"},{"name":"tr46","old_version":"3.0.0","new_version":"5.1.1","repository_url":"https://github.com/jsdom/tr46"},{"name":"tslib","old_version":"2.8.1","new_version":"2.8.0","repository_url":"https://github.com/Microsoft/tslib"},{"name":"undici-types","old_version":"6.20.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"unrs-resolver","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"w3c-xmlserializer","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/w3c-xmlserializer"},{"name":"whatwg-encoding","old_version":"2.0.0","new_version":"3.1.1","repository_url":"https://github.com/jsdom/whatwg-encoding"},{"name":"whatwg-mimetype","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/whatwg-mimetype"},{"name":"whatwg-url","old_version":"11.0.0","new_version":"14.2.0","repository_url":"https://github.com/jsdom/whatwg-url"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"},{"name":"ws","old_version":"8.18.1","new_version":"8.18.2","repository_url":"https://github.com/websockets/ws"},{"name":"xml-name-validator","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/xml-name-validator"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 107 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.13.10` | `24.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `29.7.0` | `30.0.0` |\n| [@babel/code-frame](https://github.com/babel/babel/tree/HEAD/packages/babel-code-frame) | `7.26.2` | `7.27.1` |\n| [@babel/compat-data](https://github.com/babel/babel/tree/HEAD/packages/babel-compat-data) | `7.26.8` | `7.27.5` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.26.10` | `7.27.4` |\n| [@babel/generator](https://github.com/babel/babel/tree/HEAD/packages/babel-generator) | `7.26.10` | `7.27.5` |\n| [@babel/helper-compilation-targets](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-compilation-targets) | `7.26.5` | `7.27.2` |\n| [@babel/helper-module-imports](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-imports) | `7.25.9` | `7.27.1` |\n| [@babel/helper-module-transforms](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-transforms) | `7.26.0` | `7.27.3` |\n| [@babel/helper-plugin-utils](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-plugin-utils) | `7.26.5` | `7.27.1` |\n| [@babel/helper-string-parser](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-string-parser) | `7.25.9` | `7.27.1` |\n| [@babel/helper-validator-identifier](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-validator-identifier) | `7.25.9` | `7.27.1` |\n| [@babel/helper-validator-option](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-validator-option) | `7.25.9` | `7.27.1` |\n| [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) | `7.26.10` | `7.27.6` |\n| [@babel/parser](https://github.com/babel/babel/tree/HEAD/packages/babel-parser) | `7.26.10` | `7.27.5` |\n| [@babel/plugin-syntax-import-attributes](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-import-attributes) | `7.26.0` | `7.27.1` |\n| [@babel/plugin-syntax-jsx](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-jsx) | `7.25.9` | `7.27.1` |\n| [@babel/plugin-syntax-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-typescript) | `7.25.9` | `7.27.1` |\n| [@babel/template](https://github.com/babel/babel/tree/HEAD/packages/babel-template) | `7.26.9` | `7.27.2` |\n| [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) | `7.26.10` | `7.27.4` |\n| [@babel/types](https://github.com/babel/babel/tree/HEAD/packages/babel-types) | `7.26.10` | `7.27.6` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.0` |\n| [@napi-rs/wasm-runtime](https://github.com/napi-rs/napi-rs/tree/HEAD/wasi-runtime) | `0.2.9` | `0.2.10` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/babel__generator](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__generator) | `7.6.8` | `7.27.0` |\n| [@types/babel__traverse](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__traverse) | `7.20.6` | `7.20.7` |\n| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) | `20.0.1` | `21.1.7` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [@unrs/resolver-binding-darwin-arm64](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-darwin-x64](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-freebsd-x64](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm-gnueabihf](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm-musleabihf](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm64-musl](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-ppc64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-riscv64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-riscv64-musl](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-s390x-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-x64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-x64-musl](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-wasm32-wasi](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-win32-arm64-msvc](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-win32-ia32-msvc](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-win32-x64-msvc](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [agent-base](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/agent-base) | `6.0.2` | `7.1.3` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.0` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.0` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [cssstyle](https://github.com/jsdom/cssstyle) | `2.3.0` | `4.4.0` |\n| [data-urls](https://github.com/jsdom/data-urls) | `3.0.2` | `5.0.0` |\n| [dedent](https://github.com/dmnd/dedent) | `1.5.3` | `1.6.0` |\n| [entities](https://github.com/fb55/entities) | `4.5.0` | `6.0.1` |\n| [html-encoding-sniffer](https://github.com/jsdom/html-encoding-sniffer) | `3.0.0` | `4.0.0` |\n| [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) | `5.0.0` | `7.0.2` |\n| [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) | `5.0.1` | `7.0.6` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `20.0.3` | `26.1.0` |\n| [nwsapi](https://github.com/dperini/nwsapi) | `2.2.18` | `2.2.20` |\n| [parse5](https://github.com/inikulin/parse5) | `7.2.1` | `7.3.0` |\n| [pirates](https://github.com/danez/pirates) | `4.0.6` | `4.0.7` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [tough-cookie](https://github.com/salesforce/tough-cookie) | `4.1.4` | `5.1.2` |\n| [tr46](https://github.com/jsdom/tr46) | `3.0.0` | `5.1.1` |\n| [tslib](https://github.com/Microsoft/tslib) | `2.8.1` | `2.8.0` |\n| [undici-types](https://github.com/nodejs/undici) | `6.20.0` | `7.8.0` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [w3c-xmlserializer](https://github.com/jsdom/w3c-xmlserializer) | `4.0.0` | `5.0.0` |\n| [whatwg-encoding](https://github.com/jsdom/whatwg-encoding) | `2.0.0` | `3.1.1` |\n| [whatwg-mimetype](https://github.com/jsdom/whatwg-mimetype) | `3.0.0` | `4.0.0` |\n| [whatwg-url](https://github.com/jsdom/whatwg-url) | `11.0.0` | `14.2.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n| [ws](https://github.com/websockets/ws) | `8.18.1` | `8.18.2` |\n| [xml-name-validator](https://github.com/jsdom/xml-name-validator) | `4.0.0` | `5.0.0` |\n\nUpdates `@types/node` from 22.13.10 to 24.0.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 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a123a3b667a178fb988662aaa1bc6308af759017\"\u003e\u003ccode\u003ea123a3b\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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/code-frame` from 7.26.2 to 7.27.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e\u003ccode\u003e@​babel/code-frame\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.27.1 (2025-04-30)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/kermanx\"\u003e\u003ccode\u003e@​kermanx\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/woaitsAryan\"\u003e\u003ccode\u003e@​woaitsAryan\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17254\"\u003e#17254\u003c/a\u003e Allow \u003ccode\u003eusing of\u003c/code\u003e as lexical declaration within for (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17230\"\u003e#17230\u003c/a\u003e Disallow get/set in TSPropertySignature (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-types\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17193\"\u003e#17193\u003c/a\u003e Stricter TSImportType options parsing (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-proposal-destructuring-private\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-do-expressions\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17137\"\u003e#17137\u003c/a\u003e fix: do expressions should allow early exit (\u003ca href=\"https://github.com/kermanx\"\u003e\u003ccode\u003e@​kermanx\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-wrap-function\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17251\"\u003e#17251\u003c/a\u003e Fix: propagate argument evaluation errors through async promise chain (\u003ca href=\"https://github.com/magic-akari\"\u003e\u003ccode\u003e@​magic-akari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-remap-async-to-generator\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17231\"\u003e#17231\u003c/a\u003e fix apply()/call() annotated as pure (\u003ca href=\"https://github.com/Lacsw\"\u003e\u003ccode\u003e@​Lacsw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-fixtures\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17233\"\u003e#17233\u003c/a\u003e Create ChainExpression within TSInstantiationExpression (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17226\"\u003e#17226\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 2) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17224\"\u003e#17224\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 1) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17080\"\u003e#17080\u003c/a\u003e Fix start of TSParameterProperty (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17228\"\u003e#17228\u003c/a\u003e Update firefox bugfix compat data (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17156\"\u003e#17156\u003c/a\u003e fix: Objects and arrays with multiple references should not be evaluated (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17216\"\u003e#17216\u003c/a\u003e Fix: support const type parameter in generator (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-bugfix-v8-spread-parameters-in-optional-chaining\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-arrow-functions\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-destructuring\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-object-rest-spread\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-optional-chaining\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-parameters\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17221\"\u003e#17221\u003c/a\u003e Reduce generated names size for the 10th-11th (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-runtime-corejs2\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e, \u003ccode\u003ebabel-runtime\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17263\"\u003e#17263\u003c/a\u003e Remove unused \u003ccode\u003eregenerator-runtime\u003c/code\u003e dep in \u003ccode\u003e@babel/runtime\u003c/code\u003e (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17256\"\u003e#17256\u003c/a\u003e Tune plugin compat data (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-standalone\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17236\"\u003e#17236\u003c/a\u003e migrate babel-compat-data build script to mjs (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/16844\"\u003e#16844\u003c/a\u003e Migrate \u003ccode\u003e@babel/register\u003c/code\u003e to cts (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-generator-functions\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-regenerator\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17205\"\u003e#17205\u003c/a\u003e Inline regenerator in the relevant packages (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cem\u003eAll packages\u003c/em\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17207\"\u003e#17207\u003c/a\u003e Enforce node protocol import (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/babel/babel/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​babel/code-frame\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.27.1 (2025-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17254\"\u003e#17254\u003c/a\u003e Allow \u003ccode\u003eusing of\u003c/code\u003e as lexical declaration within for (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17230\"\u003e#17230\u003c/a\u003e Disallow get/set in TSPropertySignature (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-types\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17193\"\u003e#17193\u003c/a\u003e Stricter TSImportType options parsing (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-proposal-destructuring-private\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-do-expressions\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17137\"\u003e#17137\u003c/a\u003e fix: do expressions should allow early exit (\u003ca href=\"https://github.com/kermanx\"\u003e\u003ccode\u003e@​kermanx\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-wrap-function\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17251\"\u003e#17251\u003c/a\u003e Fix: propagate argument evaluation errors through async promise chain (\u003ca href=\"https://github.com/magic-akari\"\u003e\u003ccode\u003e@​magic-akari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-remap-async-to-generator\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17231\"\u003e#17231\u003c/a\u003e fix apply()/call() annotated as pure (\u003ca href=\"https://github.com/Lacsw\"\u003e\u003ccode\u003e@​Lacsw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-fixtures\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17233\"\u003e#17233\u003c/a\u003e Create ChainExpression within TSInstantiationExpression (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17226\"\u003e#17226\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 2) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17224\"\u003e#17224\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 1) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17080\"\u003e#17080\u003c/a\u003e Fix start of TSParamete...\n\n_Description has been truncated_","html_url":"https://github.com/integritystl/task-management-challenge/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/integritystl%2Ftask-management-challenge/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"},{"uuid":"2590069969","node_id":"PR_kwDOOxyR2M6aYVTR","number":7,"state":"closed","title":"Bump the major-updates group with 57 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-06-20T15:48:44.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-13T11:59:21.000Z","updated_at":"2025-06-20T15:48:44.000Z","time_to_close":618563,"merged_at":"2025-06-20T15:48:44.000Z","merged_by":"bpkennedy","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"major-updates","update_count":57,"packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinclair/typebox","old_version":"0.27.8","new_version":"0.34.35","repository_url":"https://github.com/sinclairzx81/typebox"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"caniuse-lite","old_version":"1.0.30001721","new_version":"1.0.30001723","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.2.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.167","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pretty-format","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 57 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.0` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.0` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/typebox) | `0.27.8` | `0.34.35` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.1` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.0` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.0` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.0` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001721` | `1.0.30001723` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.2.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.167` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.0.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.0.0` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.0` |\n| [pretty-format](https://github.com/jestjs/jest/tree/HEAD/packages/pretty-format) | `29.7.0` | `30.0.0` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/console\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a2218e4f794f914884c403ecceb274ada595f2b9\"\u003e\u003ccode\u003ea2218e4\u003c/code\u003e\u003c/a\u003e Stop using \u003ccode\u003eimport X = require('…')\u003c/code\u003e. (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15659\"\u003e#15659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-console\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/console\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/core` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/core\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/core\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode...\n\n_Description has been truncated_","html_url":"https://github.com/integritystl/task-master-sync/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/integritystl%2Ftask-master-sync/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"3143281847","node_id":"PR_kwDOMjk3RM6aYGnL","number":49,"state":"open","title":"Bump the major-updates group with 34 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-13T11:30:44.000Z","updated_at":"2025-06-20T11:56:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"major-updates","update_count":34,"packages":[{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 34 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n\nUpdates `@types/node` from 22.15.30 to 24.0.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 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/console\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a2218e4f794f914884c403ecceb274ada595f2b9\"\u003e\u003ccode\u003ea2218e4\u003c/code\u003e\u003c/a\u003e Stop using \u003ccode\u003eimport X = require('…')\u003c/code\u003e. (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15659\"\u003e#15659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-console\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/console\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/core` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/core\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/core\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jes...\n\n_Description has been truncated_","html_url":"https://github.com/integritystl/integrityxd-wp-rest-api-client/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/integritystl%2Fintegrityxd-wp-rest-api-client/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"},{"uuid":"2580499748","node_id":"PR_kwDOHjv1ec6Zz00k","number":1692,"state":"closed","title":"Bump the miscs group with 34 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":["poad"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-06-10T08:29:35.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-10T08:29:06.000Z","updated_at":"2025-06-10T08:29:36.000Z","time_to_close":29,"merged_at":"2025-06-10T08:29:35.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"miscs","update_count":34,"packages":[{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.166","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"}],"path":null,"ecosystem":"npm"},"body":"Bumps the miscs group with 34 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.166` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n\nUpdates `@types/node` from 22.15.30 to 24.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/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/console\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a2218e4f794f914884c403ecceb274ada595f2b9\"\u003e\u003ccode\u003ea2218e4\u003c/code\u003e\u003c/a\u003e Stop using \u003ccode\u003eimport X = require('…')\u003c/code\u003e. (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15659\"\u003e#15659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-console\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/console\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/core` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/core\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/core\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/...\n\n_Description has been truncated_","html_url":"https://github.com/poad/aws-setup/pull/1692","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/poad%2Faws-setup/issues/1692","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1692/packages"},{"uuid":"2579980982","node_id":"PR_kwDONiXIMs6Zx2K2","number":200,"state":"closed","title":"deps: bump the all-dependencies group with 49 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-06-10T03:57:53.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-10T03:57:24.000Z","updated_at":"2025-06-10T03:57:54.000Z","time_to_close":29,"merged_at":"2025-06-10T03:57:53.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"all-dependencies","update_count":49,"packages":[{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"typescript-eslint","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/project-service","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/scope-manager","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/tsconfig-utils","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/type-utils","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/types","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/utils","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/visitor-keys","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.166","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"eslint-scope","old_version":"8.3.0","new_version":"8.4.0","repository_url":"https://github.com/eslint/js"},{"name":"espree","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/js"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"normalize-url","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/sindresorhus/normalize-url"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all-dependencies group with 49 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.33.1` | `8.34.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.33.1` | `8.34.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.0` |\n| [@typescript-eslint/project-service](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/tsconfig-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/tsconfig-utils) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `8.33.1` | `8.34.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.166` |\n| [eslint-scope](https://github.com/eslint/js/tree/HEAD/packages/eslint-scope) | `8.3.0` | `8.4.0` |\n| [espree](https://github.com/eslint/js/tree/HEAD/packages/espree) | `10.3.0` | `10.4.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [normalize-url](https://github.com/sindresorhus/normalize-url) | `8.0.1` | `8.0.2` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n\nUpdates `@jest/types` from 29.6.3 to 30.0.0\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\u003ccode\u003e@​jest/types\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/types\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/8a58fde2cccde1284c32ddaeda7cb1188716ca78\"\u003e\u003ccode\u003e8a58fde\u003c/code\u003e\u003c/a\u003e Rename some options before releasing Jest 30.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-types/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a123a3b667a178fb988662aaa1bc6308af759017\"\u003e\u003ccode\u003ea123a3b\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ca9c8835e3c74ec17450cac43c7cd3e8bb5747b2\"\u003e\u003ccode\u003eca9c883\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/57a0ef18037e7c9d1e6787477d85426787697389\"\u003e\u003ccode\u003e57a0ef1\u003c/code\u003e\u003c/a\u003e chore!: drop support for node.js version 16 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-types/issues/15623\"\u003e#15623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-types\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/types\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.33.1 to 8.34.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.34.0\u003c/h2\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e deprecated getSourceFileOfNode function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11284\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e change the token type of \u003ccode\u003enull\u003c/code\u003e from \u003ccode\u003eKeyword\u003c/code\u003e to \u003ccode\u003eNull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11283\"\u003e#11283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evisitor-keys:\u003c/strong\u003e fix visitor keys order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11279\"\u003e#11279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKim Sang Du \u003ca href=\"https://github.com/developer-bandi\"\u003e\u003ccode\u003e@​developer-bandi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8208974140a1e658e5234435836476642e9a56e1\"\u003e\u003ccode\u003e8208974\u003c/code\u003e\u003c/a\u003e docs: rename \u0026quot;directive comments\u0026quot; to \u0026quot;comment directives\u0026quot; (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11268\"\u003e#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/685e530478362c9e5a43db01aadc200a361cbc6f\"\u003e\u003ccode\u003e685e530\u003c/code\u003e\u003c/a\u003e fix(typescript-estree): add validation to interface extends (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0f5c59c1b116ced6aaff7b2c632f924b2ca49596\"\u003e\u003ccode\u003e0f5c59c\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): [prefer-optional-chain] fix comment placement (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11269\"\u003e#11269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.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.33.1 to 8.34.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.34.0\u003c/h2\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e deprecated getSourceFileOfNode function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11284\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e change the token type of \u003ccode\u003enull\u003c/code\u003e from \u003ccode\u003eKeyword\u003c/code\u003e to \u003ccode\u003eNull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11283\"\u003e#11283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evisitor-keys:\u003c/strong\u003e fix visitor keys order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11279\"\u003e#11279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKim Sang Du \u003ca href=\"https://github.com/developer-bandi\"\u003e\u003ccode\u003e@​developer-bandi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.33.1 to 8.34.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.34.0\u003c/h2\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e deprecated getSourceFileOfNode function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11284\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e change the token type of \u003ccode\u003enull\u003c/code\u003e from \u003ccode\u003eKeyword\u003c/code\u003e to \u003ccode\u003eNull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11283\"\u003e#11283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evisitor-keys:\u003c/strong\u003e fix visitor keys order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11279\"\u003e#11279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKim Sang Du \u003ca href=\"https://github.com/developer-bandi\"\u003e\u003ccode\u003e@​developer-bandi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/typescript-eslint/CHANGELOG.md\"\u003etypescript-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.0/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14...\n\n_Description has been truncated_","html_url":"https://github.com/mattfsourcecode/node-graphql-code-test/pull/200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattfsourcecode%2Fnode-graphql-code-test/issues/200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/200/packages"}],"issue_packages":[{"old_version":"7.0.1","new_version":"8.4.0","update_type":"major","path":null,"pr_created_at":"2026-05-19T19:19:37.000Z","version_change":"7.0.1 → 8.4.0","issue":{"uuid":"4480322489","node_id":"PR_kwDOODlR787dN0aA","number":591,"state":"open","title":"deps(deps): bump the security-updates group across 1 directory with 102 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["ken-guru"],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-19T19:19:37.000Z","updated_at":"2026-05-19T21:18:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"security-updates","update_count":102,"packages":[{"name":"@vercel/blob","old_version":"2.3.3","new_version":"2.4.0","repository_url":"https://github.com/vercel/storage"},{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react","old_version":"19.2.14","new_version":"19.2.15","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"cypress","old_version":"15.14.2","new_version":"15.15.0","repository_url":"https://github.com/cypress-io/cypress"},{"name":"fast-check","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/dubzzz/fast-check"},{"name":"lru-cache","old_version":"5.1.1","new_version":"10.4.3","repository_url":"https://github.com/isaacs/node-lru-cache"},{"name":"json5","old_version":"1.0.2","new_version":"2.2.3","repository_url":"https://github.com/json5/json5"},{"name":"semver","old_version":"6.3.1","new_version":"7.8.0","repository_url":"https://github.com/npm/node-semver"},{"name":"debug","old_version":"3.2.7","new_version":"4.4.3","repository_url":"https://github.com/debug-js/debug"},{"name":"eslint-visitor-keys","old_version":"3.4.3","new_version":"5.0.1","repository_url":"https://github.com/eslint/js"},{"name":"ansi-regex","old_version":"5.0.1","new_version":"6.2.2","repository_url":"https://github.com/chalk/ansi-regex"},{"name":"string-width","old_version":"4.2.3","new_version":"8.2.1","repository_url":"https://github.com/sindresorhus/string-width"},{"name":"strip-ansi","old_version":"6.0.1","new_version":"7.2.0","repository_url":"https://github.com/chalk/strip-ansi"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"ansi-styles","old_version":"4.3.0","new_version":"6.2.3","repository_url":"https://github.com/chalk/ansi-styles"},{"name":"pretty-format","old_version":"27.5.1","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@restart/hooks","old_version":"0.4.16","new_version":"0.5.1","repository_url":"https://github.com/react-restart/hooks"},{"name":"uncontrollable","old_version":"7.2.1","new_version":"8.0.4","repository_url":"https://github.com/jquense/uncontrollable"},{"name":"@sinclair/typebox","old_version":"0.27.10","new_version":"0.34.49","repository_url":"https://github.com/sinclairzx81/sinclair-typebox"},{"name":"aria-query","old_version":"5.3.0","new_version":"5.3.2","repository_url":"https://github.com/A11yance/aria-query"},{"name":"dom-accessibility-api","old_version":"0.5.16","new_version":"0.6.3","repository_url":"https://github.com/eps1lon/dom-accessibility-api"},{"name":"axe-core","old_version":"3.5.6","new_version":"4.11.4","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"react-is","old_version":"16.13.1","new_version":"18.3.1","repository_url":"https://github.com/facebook/react"},{"name":"ignore","old_version":"5.3.2","new_version":"7.0.5","repository_url":"https://github.com/kaelzhang/node-ignore"},{"name":"throttleit","old_version":"1.0.1","new_version":"2.1.0","repository_url":"https://github.com/sindresorhus/throttleit"},{"name":"ansi-escapes","old_version":"4.3.2","new_version":"7.3.0","repository_url":"https://github.com/sindresorhus/ansi-escapes"},{"name":"balanced-match","old_version":"1.0.2","new_version":"4.0.4","repository_url":"https://github.com/juliangruber/balanced-match"},{"name":"baseline-browser-mapping","old_version":"2.10.29","new_version":"2.10.31","repository_url":"https://github.com/web-platform-dx/baseline-browser-mapping"},{"name":"brace-expansion","old_version":"1.1.14","new_version":"5.0.6","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"caniuse-lite","old_version":"1.0.30001792","new_version":"1.0.30001793","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"wrap-ansi","old_version":"7.0.0","new_version":"9.0.2","repository_url":"https://github.com/chalk/wrap-ansi"},{"name":"execa","old_version":"4.1.0","new_version":"5.1.1","repository_url":"https://github.com/sindresorhus/execa"},{"name":"get-stream","old_version":"5.2.0","new_version":"6.0.1","repository_url":"https://github.com/sindresorhus/get-stream"},{"name":"human-signals","old_version":"1.1.1","new_version":"2.1.0","repository_url":"https://github.com/ehmicky/human-signals"},{"name":"supports-color","old_version":"7.2.0","new_version":"8.1.1","repository_url":"https://github.com/chalk/supports-color"},{"name":"tslib","old_version":"1.14.1","new_version":"2.8.1","repository_url":"https://github.com/Microsoft/tslib"},{"name":"electron-to-chromium","old_version":"1.5.353","new_version":"1.5.359","repository_url":"https://github.com/Kilian/electron-to-chromium"},{"name":"emoji-regex","old_version":"8.0.0","new_version":"10.6.0","repository_url":"https://github.com/mathiasbynens/emoji-regex"},{"name":"minimatch","old_version":"3.1.5","new_version":"10.2.5","repository_url":"https://github.com/isaacs/minimatch"},{"name":"pure-rand","old_version":"7.0.1","new_version":"8.4.0","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"glob-parent","old_version":"5.1.2","new_version":"6.0.2","repository_url":"https://github.com/gulpjs/glob-parent"},{"name":"signal-exit","old_version":"3.0.7","new_version":"4.1.0","repository_url":"https://github.com/tapjs/signal-exit"},{"name":"type-fest","old_version":"0.8.1","new_version":"0.21.3","repository_url":"https://github.com/sindresorhus/type-fest"},{"name":"is-fullwidth-code-point","old_version":"3.0.0","new_version":"5.1.0","repository_url":"https://github.com/sindresorhus/is-fullwidth-code-point"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.2.2","new_version":"30.4.1","repository_url":"https://github.com/jestjs/jest"},{"name":"picomatch","old_version":"2.3.2","new_version":"4.0.4","repository_url":"https://github.com/micromatch/picomatch"},{"name":"strip-bom","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/sindresorhus/strip-bom"},{"name":"slice-ansi","old_version":"7.1.2","new_version":"8.0.0","repository_url":"https://github.com/chalk/slice-ansi"},{"name":"typescript-eslint","old_version":"8.59.3","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"unrs-resolver","old_version":"1.11.1","new_version":"1.12.2","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"yallist","old_version":"3.1.1","new_version":"4.0.0","repository_url":"https://github.com/isaacs/yallist"}],"path":null,"ecosystem":"npm"},"body":"Bumps the security-updates group with 52 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@vercel/blob](https://github.com/vercel/storage/tree/HEAD/packages/blob) | `2.3.3` | `2.4.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.1` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.14` | `19.2.15` |\n| [cypress](https://github.com/cypress-io/cypress) | `15.14.2` | `15.15.0` |\n| [fast-check](https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check) | `4.7.0` | `4.8.0` |\n| [lru-cache](https://github.com/isaacs/node-lru-cache) | `5.1.1` | `10.4.3` |\n| [json5](https://github.com/json5/json5) | `1.0.2` | `2.2.3` |\n| [semver](https://github.com/npm/node-semver) | `6.3.1` | `7.8.0` |\n| [debug](https://github.com/debug-js/debug) | `3.2.7` | `4.4.3` |\n| [eslint-visitor-keys](https://github.com/eslint/js/tree/HEAD/packages/eslint-visitor-keys) | `3.4.3` | `5.0.1` |\n| [ansi-regex](https://github.com/chalk/ansi-regex) | `5.0.1` | `6.2.2` |\n| [string-width](https://github.com/sindresorhus/string-width) | `4.2.3` | `8.2.1` |\n| [strip-ansi](https://github.com/chalk/strip-ansi) | `6.0.1` | `7.2.0` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.4.1` |\n| [ansi-styles](https://github.com/chalk/ansi-styles) | `4.3.0` | `6.2.3` |\n| [pretty-format](https://github.com/jestjs/jest/tree/HEAD/packages/pretty-format) | `27.5.1` | `30.4.1` |\n| [@restart/hooks](https://github.com/react-restart/hooks) | `0.4.16` | `0.5.1` |\n| [uncontrollable](https://github.com/jquense/uncontrollable) | `7.2.1` | `8.0.4` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/sinclair-typebox) | `0.27.10` | `0.34.49` |\n| [aria-query](https://github.com/A11yance/aria-query) | `5.3.0` | `5.3.2` |\n| [dom-accessibility-api](https://github.com/eps1lon/dom-accessibility-api) | `0.5.16` | `0.6.3` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `3.5.6` | `4.11.4` |\n| [react-is](https://github.com/facebook/react/tree/HEAD/packages/react-is) | `16.13.1` | `18.3.1` |\n| [ignore](https://github.com/kaelzhang/node-ignore) | `5.3.2` | `7.0.5` |\n| [throttleit](https://github.com/sindresorhus/throttleit) | `1.0.1` | `2.1.0` |\n| [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) | `4.3.2` | `7.3.0` |\n| [balanced-match](https://github.com/juliangruber/balanced-match) | `1.0.2` | `4.0.4` |\n| [baseline-browser-mapping](https://github.com/web-platform-dx/baseline-browser-mapping) | `2.10.29` | `2.10.31` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.14` | `5.0.6` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001792` | `1.0.30001793` |\n| [wrap-ansi](https://github.com/chalk/wrap-ansi) | `7.0.0` | `9.0.2` |\n| [execa](https://github.com/sindresorhus/execa) | `4.1.0` | `5.1.1` |\n| [get-stream](https://github.com/sindresorhus/get-stream) | `5.2.0` | `6.0.1` |\n| [human-signals](https://github.com/ehmicky/human-signals) | `1.1.1` | `2.1.0` |\n| [supports-color](https://github.com/chalk/supports-color) | `7.2.0` | `8.1.1` |\n| [tslib](https://github.com/Microsoft/tslib) | `1.14.1` | `2.8.1` |\n| [electron-to-chromium](https://github.com/Kilian/electron-to-chromium) | `1.5.353` | `1.5.359` |\n| [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | `8.0.0` | `10.6.0` |\n| [minimatch](https://github.com/isaacs/minimatch) | `3.1.5` | `10.2.5` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `7.0.1` | `8.4.0` |\n| [glob-parent](https://github.com/gulpjs/glob-parent) | `5.1.2` | `6.0.2` |\n| [signal-exit](https://github.com/tapjs/signal-exit) | `3.0.7` | `4.1.0` |\n| [type-fest](https://github.com/sindresorhus/type-fest) | `0.8.1` | `0.21.3` |\n| [is-fullwidth-code-point](https://github.com/sindresorhus/is-fullwidth-code-point) | `3.0.0` | `5.1.0` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.4.1` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.2.2` | `30.4.1` |\n| [picomatch](https://github.com/micromatch/picomatch) | `2.3.2` | `4.0.4` |\n| [strip-bom](https://github.com/sindresorhus/strip-bom) | `3.0.0` | `4.0.0` |\n| [slice-ansi](https://github.com/chalk/slice-ansi) | `7.1.2` | `8.0.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.3` | `8.59.4` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.11.1` | `1.12.2` |\n| [yallist](https://github.com/isaacs/yallist) | `3.1.1` | `4.0.0` |\n\n\nUpdates `@vercel/blob` from 2.3.3 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/storage/releases\"\u003e@​vercel/blob's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​vercel/blob\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e20eeaff: Add Vercel OIDC auth and presigned URLs\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/vercel/storage/blob/main/packages/blob/CHANGELOG.md\"\u003e@​vercel/blob's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e20eeaff: Add Vercel OIDC auth and presigned URLs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/storage/commit/db13e9490529f750849bddd539e5ba63b36bf014\"\u003e\u003ccode\u003edb13e94\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/storage/tree/HEAD/packages/blob/issues/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/storage/commit/20eeaffead76d8e1a0e8a11108cca5a4e0596974\"\u003e\u003ccode\u003e20eeaff\u003c/code\u003e\u003c/a\u003e Add Vercel OIDC auth and Presigned URLs (\u003ca href=\"https://github.com/vercel/storage/tree/HEAD/packages/blob/issues/1056\"\u003e#1056\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/storage/commit/171f08d6429f15d063d74c8275f17ebf81ef7be0\"\u003e\u003ccode\u003e171f08d\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to v24.12.2 (\u003ca href=\"https://github.com/vercel/storage/tree/HEAD/packages/blob/issues/1046\"\u003e#1046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/storage/commits/@vercel/blob@2.4.0/packages/blob\"\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@​vercel/blob\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 `@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 `cypress` from 15.14.2 to 15.15.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/cypress/releases\"\u003ecypress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev15.15.0\u003c/h2\u003e\n\u003cp\u003eChangelog: \u003ca href=\"https://docs.cypress.io/app/references/changelog#15-15-0\"\u003ehttps://docs.cypress.io/app/references/changelog#15-15-0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/914ad901d9d50e2c744769a445643702ceca774b\"\u003e\u003ccode\u003e914ad90\u003c/code\u003e\u003c/a\u003e chore: narrow CYPRESS_COMMERCIAL_RECOMMENDATIONS override; deflake no-branch ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/1b11ad2663f5e097a3d9c08e4e25d576c2074b05\"\u003e\u003ccode\u003e1b11ad2\u003c/code\u003e\u003c/a\u003e chore(ci): commit v8 snapshot updates via GitHub API (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33774\"\u003e#33774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/0f864f68aa2f2b005b50fc8367c9a6467a57753c\"\u003e\u003ccode\u003e0f864f6\u003c/code\u003e\u003c/a\u003e internal: cloud-driven app messaging banner (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33757\"\u003e#33757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/6299c146fb0c5f3aec241a0996eac57a12a924a7\"\u003e\u003ccode\u003e6299c14\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - windows (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33776\"\u003e#33776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/b9575f01e99ca24456d06d32a3b354bba84828e8\"\u003e\u003ccode\u003eb9575f0\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - linux (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33764\"\u003e#33764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/302747ded21c37debb26ab8a1d42b066283cc76d\"\u003e\u003ccode\u003e302747d\u003c/code\u003e\u003c/a\u003e fix(server): retry BiDi sessionSubscribe when Firefox connection not ready (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/73a3e0e749dae3b0c80ea78dc2687a07672ee2a1\"\u003e\u003ccode\u003e73a3e0e\u003c/code\u003e\u003c/a\u003e fix: serialize ProjectLifecycleManager.refreshLifecycle to avoid IPC race (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/3\"\u003e#3\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/0f2d3859413656c07ed555a18123e92914f3c426\"\u003e\u003ccode\u003e0f2d385\u003c/code\u003e\u003c/a\u003e test(system-tests): add Node.js 26 binary smoke coverage (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33780\"\u003e#33780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/e08ac5ed711ba44d8aacad7482181e80617f07bb\"\u003e\u003ccode\u003ee08ac5e\u003c/code\u003e\u003c/a\u003e chore(ci): enable Snyk scans on fork PRs via approval-gated environment (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33773\"\u003e#33773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/cypress/commit/e429e13b252f54fb5fe0b877633e22c9e1be1ae9\"\u003e\u003ccode\u003ee429e13\u003c/code\u003e\u003c/a\u003e chore: Update v8 snapshot cache - darwin (\u003ca href=\"https://redirect.github.com/cypress-io/cypress/issues/33772\"\u003e#33772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cypress-io/cypress/compare/v15.14.2...v15.15.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-check` from 4.7.0 to 4.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dubzzz/fast-check/releases\"\u003efast-check's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNew arbitrary to chain in a loop fashion\u003c/h2\u003e\n\u003cp\u003e[\u003ca href=\"https://github.com/dubzzz/fast-check/tree/v4.8.0\"\u003eCode\u003c/a\u003e][\u003ca href=\"https://github.com/dubzzz/fast-check/compare/v4.7.0...v4.8.0\"\u003eDiff\u003c/a\u003e]\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6678\"\u003ePR#6678\u003c/a\u003e) Add \u003ccode\u003echainUntil\u003c/code\u003e arbitrary for iterative chaining\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6965\"\u003ePR#6965\u003c/a\u003e) Bug: Restore ability not to use \u003ccode\u003eskipLibCheck\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6877\"\u003ePR#6877\u003c/a\u003e) CI: Lowercase discussion_category_name to \u0026quot;announcements\u0026quot;\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6878\"\u003ePR#6878\u003c/a\u003e) CI: Scope permissions of clean-caches\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6880\"\u003ePR#6880\u003c/a\u003e) CI: Add PR-authoring guidance for Claude\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6887\"\u003ePR#6887\u003c/a\u003e) CI: Delete CLAUDE.md\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6888\"\u003ePR#6888\u003c/a\u003e) CI: Use tilde ranges for security dependency overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6891\"\u003ePR#6891\u003c/a\u003e) CI: Disable Renovate updates on pnpm overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6899\"\u003ePR#6899\u003c/a\u003e) CI: Scope Claude hooks to \u003ccode\u003e$CLAUDE_PROJECT_DIR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6905\"\u003ePR#6905\u003c/a\u003e) CI: Enable pnpm global virtual store\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6933\"\u003ePR#6933\u003c/a\u003e) CI: Pin pnpm in npm install commands\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6932\"\u003ePR#6932\u003c/a\u003e) CI: Grant \u003ccode\u003ediscussions: write\u003c/code\u003e to release jobs\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6935\"\u003ePR#6935\u003c/a\u003e) CI: Skip PR template check for dubzzz\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6937\"\u003ePR#6937\u003c/a\u003e) CI: Mirror the repo to tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6938\"\u003ePR#6938\u003c/a\u003e) CI: Add missing runs-on for tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6889\"\u003ePR#6889\u003c/a\u003e) Doc: Add release notes for fast-check 4.7.0\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6900\"\u003ePR#6900\u003c/a\u003e) Doc: Fix broken API reference links\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6844\"\u003ePR#6844\u003c/a\u003e) Doc: Extract manual setup guide into dedicated page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6845\"\u003ePR#6845\u003c/a\u003e) Doc: Add index pages for documentation sections\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6918\"\u003ePR#6918\u003c/a\u003e) Doc: Fix Documentation link to point to first doc page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6939\"\u003ePR#6939\u003c/a\u003e) Doc: Link to Tangled mirror of fast-check\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6934\"\u003ePR#6934\u003c/a\u003e) Test: Tolerate \u003ccode\u003e\\p{...}\u003c/code\u003e value drift in docs tests\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6951\"\u003ePR#6951\u003c/a\u003e) Test: Fix poisoning tests for latest Node\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\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/dubzzz/fast-check/blob/main/packages/fast-check/CHANGELOG.md\"\u003efast-check's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.8.0\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003eNew arbitrary to chain in a loop fashion\u003c/em\u003e\n[\u003ca href=\"https://github.com/dubzzz/fast-check/tree/v4.8.0\"\u003eCode\u003c/a\u003e][\u003ca href=\"https://github.com/dubzzz/fast-check/compare/v4.7.0...v4.8.0\"\u003eDiff\u003c/a\u003e]\u003c/p\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6678\"\u003ePR#6678\u003c/a\u003e) Add \u003ccode\u003echainUntil\u003c/code\u003e arbitrary for iterative chaining\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6965\"\u003ePR#6965\u003c/a\u003e) Bug: Restore ability not to use \u003ccode\u003eskipLibCheck\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6877\"\u003ePR#6877\u003c/a\u003e) CI: Lowercase discussion_category_name to \u0026quot;announcements\u0026quot;\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6878\"\u003ePR#6878\u003c/a\u003e) CI: Scope permissions of clean-caches\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6880\"\u003ePR#6880\u003c/a\u003e) CI: Add PR-authoring guidance for Claude\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6887\"\u003ePR#6887\u003c/a\u003e) CI: Delete CLAUDE.md\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6888\"\u003ePR#6888\u003c/a\u003e) CI: Use tilde ranges for security dependency overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6891\"\u003ePR#6891\u003c/a\u003e) CI: Disable Renovate updates on pnpm overrides\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6899\"\u003ePR#6899\u003c/a\u003e) CI: Scope Claude hooks to \u003ccode\u003e$CLAUDE_PROJECT_DIR\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6905\"\u003ePR#6905\u003c/a\u003e) CI: Enable pnpm global virtual store\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6933\"\u003ePR#6933\u003c/a\u003e) CI: Pin pnpm in npm install commands\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6932\"\u003ePR#6932\u003c/a\u003e) CI: Grant \u003ccode\u003ediscussions: write\u003c/code\u003e to release jobs\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6935\"\u003ePR#6935\u003c/a\u003e) CI: Skip PR template check for dubzzz\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6937\"\u003ePR#6937\u003c/a\u003e) CI: Mirror the repo to tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6938\"\u003ePR#6938\u003c/a\u003e) CI: Add missing runs-on for tangled\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6889\"\u003ePR#6889\u003c/a\u003e) Doc: Add release notes for fast-check 4.7.0\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6900\"\u003ePR#6900\u003c/a\u003e) Doc: Fix broken API reference links\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6844\"\u003ePR#6844\u003c/a\u003e) Doc: Extract manual setup guide into dedicated page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6845\"\u003ePR#6845\u003c/a\u003e) Doc: Add index pages for documentation sections\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6918\"\u003ePR#6918\u003c/a\u003e) Doc: Fix Documentation link to point to first doc page\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6939\"\u003ePR#6939\u003c/a\u003e) Doc: Link to Tangled mirror of fast-check\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6934\"\u003ePR#6934\u003c/a\u003e) Test: Tolerate \u003ccode\u003e\\p{...}\u003c/code\u003e value drift in docs tests\u003c/li\u003e\n\u003cli\u003e(\u003ca href=\"https://redirect.github.com/dubzzz/fast-check/pull/6951\"\u003ePR#6951\u003c/a\u003e) Test: Fix poisoning tests for latest Node\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/c0da76fbcf6470339ad7bb2f0dfcebee06ede56c\"\u003e\u003ccode\u003ec0da76f\u003c/code\u003e\u003c/a\u003e 🔖 Update CHANGELOG.md for fast-check@4.8.0, \u003ccode\u003e@​fast-check/ava\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.1 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6967\"\u003e#6967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/df6f4c10d903fd525198b58cb4e84fa6c1887515\"\u003e\u003ccode\u003edf6f4c1\u003c/code\u003e\u003c/a\u003e 🐛 Restore ability not to use \u003ccode\u003eskipLibCheck\u003c/code\u003e (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6965\"\u003e#6965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/af612c5e73ed0fed7642f17d546bf7496b8e6578\"\u003e\u003ccode\u003eaf612c5\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to ^24.12.3 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6952\"\u003e#6952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/917dda40f56af515104b5ff37cbc5ca4520d1aab\"\u003e\u003ccode\u003e917dda4\u003c/code\u003e\u003c/a\u003e ✅ Fix poisoning tests for latest Node (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6951\"\u003e#6951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/acb5c6ff231b1ebcf2ead87dd991d58fd7f4260e\"\u003e\u003ccode\u003eacb5c6f\u003c/code\u003e\u003c/a\u003e ✅ Tolerate \u003ccode\u003e\\p{...}\u003c/code\u003e value drift in docs tests (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6934\"\u003e#6934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/26cab193e7817157520633e7306451e97b05abb7\"\u003e\u003ccode\u003e26cab19\u003c/code\u003e\u003c/a\u003e ✨ Add \u003ccode\u003echainUntil\u003c/code\u003e arbitrary for iterative chaining (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6678\"\u003e#6678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/16f65f6648ecff8cdf85b5f7fc4d7939fda5cf85\"\u003e\u003ccode\u003e16f65f6\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency oxlint to ^1.60.0 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6856\"\u003e#6856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/0a8ce9a33b2f333af42dc3e0615c2facf464d43e\"\u003e\u003ccode\u003e0a8ce9a\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency \u003ccode\u003e@​microsoft/api-extractor\u003c/code\u003e to ^7.58.7 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6898\"\u003e#6898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/debb9b6297329e81a7bfc49165ec9dfcba00fbc0\"\u003e\u003ccode\u003edebb9b6\u003c/code\u003e\u003c/a\u003e 📝 Fix broken API reference links (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6900\"\u003e#6900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/fast-check/commit/642e6510ada3cff087f3d2ddc262005b5b0a70b1\"\u003e\u003ccode\u003e642e651\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency typescript to ~6.0.3 (\u003ca href=\"https://github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check/issues/6886\"\u003e#6886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dubzzz/fast-check/commits/v4.8.0/packages/fast-check\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lru-cache` from 5.1.1 to 10.4.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md\"\u003elru-cache's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ecringe lorg\u003c/h1\u003e\n\u003ch2\u003e11.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ecache\u003c/code\u003e property to status objects, in order to\ndifferentiate which cache is emitting the metric or trace.\u003c/li\u003e\n\u003cli\u003eSeveral small bugs regarding fetch behavior edge cases.\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eonInsert\u003c/code\u003e does not fire for background fetch internal\npromises.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edispose()\u003c/code\u003e and \u003ccode\u003edisposeAfter()\u003c/code\u003e now fire for the stale\nvalue left behind when an in-process background fetch is\npre-empted by eviction.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efetchMethod\u003c/code\u003e that returns a non-Promise value is handled\ncorrectly.\u003c/li\u003e\n\u003cli\u003eNo \u003ccode\u003eError\u003c/code\u003e is created, or \u003ccode\u003eabort()\u003c/code\u003e signaled, when a\nbackground fetch promise is resolved. (Presumably the\nimplementation is done by that point.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd observability features, expand the coverage of\n\u003ccode\u003eLRUCache.Status\u003c/code\u003e objects.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003eperf\u003c/code\u003e option to specify \u003ccode\u003eperformance\u003c/code\u003e, \u003ccode\u003eDate\u003c/code\u003e, or any\nother object with a \u003ccode\u003enow()\u003c/code\u003e method that returns a number.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd the \u003ccode\u003eonInsert\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for node less than v20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAccidental minor update, should've been patch.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003eforceFetch()\u003c/code\u003e method\u003c/li\u003e\n\u003cli\u003eset \u003ccode\u003edisposeReason\u003c/code\u003e to \u003ccode\u003e'expire'\u003c/code\u003e when it's the result of a TTL\nexpiration, or \u003ccode\u003e'fetch'\u003c/code\u003e when it's the result of an aborted\nor \u003ccode\u003eundefined\u003c/code\u003e-returning \u003ccode\u003efetch()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003ememo()\u003c/code\u003e method\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.2\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/isaacs/node-lru-cache/commit/228d71964978ad71a7dcea664c494468c780b956\"\u003e\u003ccode\u003e228d719\u003c/code\u003e\u003c/a\u003e 10.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/66aa00dc7e7cb77495dcdc7132cef8ae5e6a586e\"\u003e\u003ccode\u003e66aa00d\u003c/code\u003e\u003c/a\u003e remove engines restriction\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/f7e9f2ad98dda229cb0b99f44bd1d32be86d74bc\"\u003e\u003ccode\u003ef7e9f2a\u003c/code\u003e\u003c/a\u003e 10.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/0c434f6b982f3e22e733a5f983c1407cbf80a123\"\u003e\u003ccode\u003e0c434f6\u003c/code\u003e\u003c/a\u003e even looser engines on legacy versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/e01135c4270941ac54d00a6b96eefdca31f3a6f6\"\u003e\u003ccode\u003ee01135c\u003c/code\u003e\u003c/a\u003e 10.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/3fcc3875d934a6961a336334968c19c7a57bf392\"\u003e\u003ccode\u003e3fcc387\u003c/code\u003e\u003c/a\u003e expanded engines definition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/d67b111587d88ed71078dd552e06208479206cea\"\u003e\u003ccode\u003ed67b111\u003c/code\u003e\u003c/a\u003e changelog: cosmetics, explain 10.4 typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/52c9cb00034799257a4e08d9b7f037e409e00dbb\"\u003e\u003ccode\u003e52c9cb0\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/19e60d3eac7bca81e14ee07d82aa36055d788e9f\"\u003e\u003ccode\u003e19e60d3\u003c/code\u003e\u003c/a\u003e update tshy, remove 'source' export\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/isaacs/node-lru-cache/commit/3edad217ce3a4b6535baf03957882d8afff82532\"\u003e\u003ccode\u003e3edad21\u003c/code\u003e\u003c/a\u003e 10.3.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/isaacs/node-lru-cache/compare/v5.1.1...v10.4.3\"\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 `@babel/core` from 7.29.0 to 7.7.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/35f4d1276310bac6fede4a6f86a5c76f951e179e\"\u003e\u003ccode\u003e35f4d12\u003c/code\u003e\u003c/a\u003e v7.7.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/bdb4318f47ec42ca4e325b5163e2e8ad57de4849\"\u003e\u003ccode\u003ebdb4318\u003c/code\u003e\u003c/a\u003e chore: update convert-source-map dep (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10667\"\u003e#10667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/97faa83953cb87e332554fa559a4956d202343ea\"\u003e\u003ccode\u003e97faa83\u003c/code\u003e\u003c/a\u003e v7.7.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/87feda7c2a33b7bde6dc926ced4dd741a90cc860\"\u003e\u003ccode\u003e87feda7\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@​babel/parser\u003c/code\u003e error recovery (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10363\"\u003e#10363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/bea1b0d0af7ebe09df2d98dfbaff561d57e7dfe9\"\u003e\u003ccode\u003ebea1b0d\u003c/code\u003e\u003c/a\u003e Add support for .cjs config files (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10599\"\u003e#10599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/d08702c9d2b2880e2a9adc922a491e046bdda831\"\u003e\u003ccode\u003ed08702c\u003c/code\u003e\u003c/a\u003e inputSourceMap should work when it is in an external file (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/3a5e8a8dd428bc6240e75ee9aee2ccf2d9443cc6\"\u003e\u003ccode\u003e3a5e8a8\u003c/code\u003e\u003c/a\u003e Add support for babel.config.json (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10501\"\u003e#10501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f1bc6c4e18dbff8aad8e0b53d80c787c9dc9870c\"\u003e\u003ccode\u003ef1bc6c4\u003c/code\u003e\u003c/a\u003e feat: if code frame error is on a single line, highlight the w… (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10361\"\u003e#10361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/dcf7d89b8e9b6b364aae17652f94a4f0d3fe0950\"\u003e\u003ccode\u003edcf7d89\u003c/code\u003e\u003c/a\u003e fix: remove filename annotation in buildCodeFrameError (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/10539\"\u003e#10539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/a422ea64ee2208a55dda33f990a422e14b917f5b\"\u003e\u003ccode\u003ea422ea6\u003c/code\u003e\u003c/a\u003e v7.6.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/babel/babel/commits/v7.7.2/packages/babel-core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `json5` from 1.0.2 to 2.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/json5/json5/releases\"\u003ejson5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.2.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: json5@2.2.3 is now the 'latest' release according to npm instead of v1.0.2. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Properties with the name \u003ccode\u003e__proto__\u003c/code\u003e are added to objects and arrays.\n(\u003ca href=\"https://redirect.github.com/json5/json5/issues/199\"\u003e#199\u003c/a\u003e) This also fixes a prototype pollution vulnerability reported by\nJonathan Gregson! (\u003ca href=\"https://redirect.github.com/json5/json5/issues/295\"\u003e#295\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Removed dependence on minimist to patch CVE-2021-44906. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Accurate and documented TypeScript declarations are now included. There is no need to install \u003ccode\u003e@types/json5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/236\"\u003e#236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/json5/json5/issues/244\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.3 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.3\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.2...v2.1.3\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: An out of memory bug when parsing numbers has been fixed. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/228\"\u003e#228\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/json5/json5/issues/229\"\u003e#229\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Bump \u003ccode\u003eminimist\u003c/code\u003e to \u003ccode\u003ev1.2.5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: \u003ccode\u003epackage.json\u003c/code\u003e and \u003ccode\u003epackage.json5\u003c/code\u003e include a \u003ccode\u003emodule\u003c/code\u003e property so\nbundlers like webpack, rollup and parcel can take advantage of the ES Module\nbuild. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/208\"\u003e#208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: \u003ccode\u003estringify\u003c/code\u003e outputs \u003ccode\u003e\\0\u003c/code\u003e as \u003ccode\u003e\\\\x00\u003c/code\u003e when followed by a digit. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/210\"\u003e#210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: Spelling mistakes have been fixed. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eNew: The \u003ccode\u003eindex.mjs\u003c/code\u003e and \u003ccode\u003eindex.min.mjs\u003c/code\u003e browser builds in the \u003ccode\u003edist\u003c/code\u003e directory support ES6 modules. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/187\"\u003e#187\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix: The browser builds in the \u003ccode\u003edist\u003c/code\u003e directory support ES5. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/182\"\u003e#182\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.0.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eMajor\u003c/strong\u003e: JSON5 officially supports Node.js v6 and later. Support for Node.js\nv4 has been dropped. Since Node.js v6 supports ES5 features, the code has been\nrewritten in native ES5, and the dependence on Babel has been eliminated.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: Support for Unicode 10 has been added.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: The test framework has been migrated from Mocha to Tap.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNew: The browser build at \u003ccode\u003edist/index.js\u003c/code\u003e is no longer minified by default. A\nminified version is available at \u003ccode\u003edist/index.min.js\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/181\"\u003e#181\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eFix: The warning has been made clearer when line and paragraph separators are\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/json5/json5/blob/main/CHANGELOG.md\"\u003ejson5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev2.2.3 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.3\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.2.2...v2.2.3\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: json5@2.2.3 is now the 'latest' release according to npm instead of\nv1.0.2. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/299\"\u003e#299\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.2.2 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.2\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.2.1...v2.2.2\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Properties with the name \u003ccode\u003e__proto__\u003c/code\u003e are added to objects and arrays.\n(\u003ca href=\"https://redirect.github.com/json5/json5/issues/199\"\u003e#199\u003c/a\u003e) This also fixes a prototype pollution vulnerability reported by\nJonathan Gregson! (\u003ca href=\"https://redirect.github.com/json5/json5/issues/295\"\u003e#295\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.2.1 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.1\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.2.0...v2.2.1\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Removed dependence on minimist to patch CVE-2021-44906. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/266\"\u003e#266\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.2.0 [\u003ca href=\"https://github.com/json5/json5/tree/v2.2.0\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.3...v2.2.0\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Accurate and documented TypeScript declarations are now included. There\nis no need to install \u003ccode\u003e@types/json5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/236\"\u003e#236\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/json5/json5/issues/244\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.3 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.3\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.2...v2.1.3\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: An out of memory bug when parsing numbers has been fixed. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/228\"\u003e#228\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/json5/json5/issues/229\"\u003e#229\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.2 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.2\"\u003ecode\u003c/a\u003e, \u003ca href=\"https://github.com/json5/json5/compare/v2.1.1...v2.1.2\"\u003ediff\u003c/a\u003e]\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Bump \u003ccode\u003eminimist\u003c/code\u003e to \u003ccode\u003ev1.2.5\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/json5/json5/issues/222\"\u003e#222\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev2.1.1 [\u003ca href=\"https://github.com/json5/json5/tree/v2.1.1\"\u003ecode\u003c/a\u003e, [diff][d2.1.1]]\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/json5/json5/commit/c3a75242772a5026a49c4017a16d9b3543b62776\"\u003e\u003ccode\u003ec3a7524\u003c/code\u003e\u003c/a\u003e 2.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/94fd06d82eeed225fa172f6fb2ca27375cbd2e39\"\u003e\u003ccode\u003e94fd06d\u003c/code\u003e\u003c/a\u003e docs: update CHANGELOG for v2.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/3b8cebf0c474a8b20c78bd75c89cca0c4dce84ce\"\u003e\u003ccode\u003e3b8cebf\u003c/code\u003e\u003c/a\u003e docs(security): use GitHub security advisories\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/f0fd9e194dde282caff114a110f4fac635f3a62c\"\u003e\u003ccode\u003ef0fd9e1\u003c/code\u003e\u003c/a\u003e docs: publish a security policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/6a91a05fffeda16ff6b3b5008b6b340d42d31ec0\"\u003e\u003ccode\u003e6a91a05\u003c/code\u003e\u003c/a\u003e docs(template): bug -\u0026gt; bug report\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/14f8cb186e8abdfaccf6527171da7b1224374650\"\u003e\u003ccode\u003e14f8cb1\u003c/code\u003e\u003c/a\u003e 2.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/10cc7ca9169b59c5e0f5afc03dbd870cd06bcc46\"\u003e\u003ccode\u003e10cc7ca\u003c/code\u003e\u003c/a\u003e docs: update CHANGELOG for v2.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/7774c1097993bc3ce9f0ac4b722a32bf7d6871c8\"\u003e\u003ccode\u003e7774c10\u003c/code\u003e\u003c/a\u003e fix: add \u003cstrong\u003eproto\u003c/strong\u003e to objects and arrays\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/edde30abd8b22facf2c06c72586b9f6edf12700d\"\u003e\u003ccode\u003eedde30a\u003c/code\u003e\u003c/a\u003e Readme: slight tweak to intro\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/json5/json5/commit/97286f8bd542c89dcee096bc05dd28ed2dfc1e16\"\u003e\u003ccode\u003e97286f8\u003c/code\u003e\u003c/a\u003e Improve example in readme\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/json5/json5/compare/v1.0.2...v2.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `semver` from 6.3.1 to 7.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/npm/node-semver/releases\"\u003esemver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.8.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4\"\u003e7.7.4\u003c/a\u003e (2026-01-16)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/a29faa5f3309a01c8e5aeb965fb5c02c4c4e80e2\"\u003e\u003ccode\u003ea29faa5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/835\"\u003e#835\u003c/a\u003e cli: pass options to semver.valid() for loose version validation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/835\"\u003e#835\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/1d28d5e82de16163daf721a7c76fff93e0d333ab\"\u003e\u003ccode\u003e1d28d5e\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/836\"\u003e#836\u003c/a\u003e fix typos and update -n CLI option documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/836\"\u003e#836\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793\"\u003e\u003ccode\u003e120968b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/840\"\u003e#840\u003c/a\u003e \u003ccode\u003e@npmcli/template-oss@4.29.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/840\"\u003e#840\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/44d7130c60cedd3703048aa671bb1d659b79ab07\"\u003e\u003ccode\u003e44d7130\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/824\"\u003e#824\u003c/a\u003e bump \u003ccode\u003e@​npmcli/eslint-config\u003c/code\u003e from 5.1.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/824\"\u003e#824\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/70735767b68a1775eb67ac816b183b4a422101f4\"\u003e\u003ccode\u003e7073576\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/820\"\u003e#820\u003c/a\u003e reorder parameters in invalid-versions.js test (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/820\"\u003e#820\u003c/a\u003e) (\u003ca href=\"https://github.com/reggi\"\u003e\u003ccode\u003e@​reggi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5816d4cfd6d85169527a2bc22fbd5bf4c64f34e3\"\u003e\u003ccode\u003e5816d4c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/829\"\u003e#829\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.0 to 4.28.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/829\"\u003e#829\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3\"\u003e7.7.3\u003c/a\u003e (2025-10-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea\"\u003e\u003ccode\u003ee37e0ca\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/813\"\u003e#813\u003c/a\u003e faster paths for compare (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/813\"\u003e#813\u003c/a\u003e) (\u003ca href=\"https://github.com/H4ad\"\u003e\u003ccode\u003e@​H4ad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36\"\u003e\u003ccode\u003e2471d75\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/811\"\u003e#811\u003c/a\u003e x-range build metadata support (i529015)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f\"\u003e\u003ccode\u003e8f05c87\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/807\"\u003e#807\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.25.0 to 4.25.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/807\"\u003e#807\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2\"\u003e7.7.2\u003c/a\u003e (2025-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4\"\u003e\u003ccode\u003efcafb61\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/780\"\u003e#780\u003c/a\u003e add missing \u003ccode\u003e'use strict'\u003c/code\u003e directives (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2\"\u003e\u003ccode\u003ec99f336\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/781\"\u003e#781\u003c/a\u003e prerelease identifier starting with digits (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/781\"\u003e#781\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71\"\u003e\u003ccode\u003ec760403\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/784\"\u003e#784\u003c/a\u003e template-oss-apply for workflow permissions (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/784\"\u003e#784\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87\"\u003e\u003ccode\u003e2677f2a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/778\"\u003e#778\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.23.6 to 4.24.3 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/778\"\u003e#778\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1\"\u003e7.7.1\u003c/a\u003e (2025-02-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/af761c05bd53eef83b5e20f8b09360b0e70557dc\"\u003e\u003ccode\u003eaf761c0\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/764\"\u003e#764\u003c/a\u003e inc: fully capture prerelease identifier (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/764\"\u003e#764\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.7.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/npm/node-semver/blob/main/CHANGELOG.md\"\u003esemver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.4...v7.8.0\"\u003e7.8.0\u003c/a\u003e (2026-05-08)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/855\"\u003e#855\u003c/a\u003e Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e) (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/859\"\u003e#859\u003c/a\u003e Warn when defaulting to --inc=patch in CLI (\u003ca href=\"https://github.com/pjohnmeyer\"\u003e\u003ccode\u003e@​pjohnmeyer\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/853\"\u003e#853\u003c/a\u003e fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e) (\u003ca href=\"https://github.com/ankitkumar572005\"\u003e\u003ccode\u003e@​ankitkumar572005\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/846\"\u003e#846\u003c/a\u003e fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e) (\u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/claude\"\u003e\u003ccode\u003e@​claude\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e template-oss-apply (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/860\"\u003e#860\u003c/a\u003e \u003ccode\u003etemplate-oss-apply@5.0.0\u003c/code\u003e (\u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/852\"\u003e#852\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4\"\u003e7.7.4\u003c/a\u003e (2026-01-16)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/a29faa5f3309a01c8e5aeb965fb5c02c4c4e80e2\"\u003e\u003ccode\u003ea29faa5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/835\"\u003e#835\u003c/a\u003e cli: pass options to semver.valid() for loose version validation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/835\"\u003e#835\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/1d28d5e82de16163daf721a7c76fff93e0d333ab\"\u003e\u003ccode\u003e1d28d5e\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/836\"\u003e#836\u003c/a\u003e fix typos and update -n CLI option documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/836\"\u003e#836\u003c/a\u003e) (\u003ca href=\"https://github.com/mldangelo\"\u003e\u003ccode\u003e@​mldangelo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793\"\u003e\u003ccode\u003e120968b\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/840\"\u003e#840\u003c/a\u003e \u003ccode\u003e@npmcli/template-oss@4.29.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/840\"\u003e#840\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/44d7130c60cedd3703048aa671bb1d659b79ab07\"\u003e\u003ccode\u003e44d7130\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/824\"\u003e#824\u003c/a\u003e bump \u003ccode\u003e@​npmcli/eslint-config\u003c/code\u003e from 5.1.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/824\"\u003e#824\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/70735767b68a1775eb67ac816b183b4a422101f4\"\u003e\u003ccode\u003e7073576\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/820\"\u003e#820\u003c/a\u003e reorder parameters in invalid-versions.js test (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/820\"\u003e#820\u003c/a\u003e) (\u003ca href=\"https://github.com/reggi\"\u003e\u003ccode\u003e@​reggi\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5816d4cfd6d85169527a2bc22fbd5bf4c64f34e3\"\u003e\u003ccode\u003e5816d4c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/829\"\u003e#829\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.0 to 4.28.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/829\"\u003e#829\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3\"\u003e7.7.3\u003c/a\u003e (2025-10-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/e37e0ca0b5fc910d2b1948d25dbc83cc3a0921ea\"\u003e\u003ccode\u003ee37e0ca\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/813\"\u003e#813\u003c/a\u003e faster paths for compare (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/813\"\u003e#813\u003c/a\u003e) (\u003ca href=\"https://github.com/H4ad\"\u003e\u003ccode\u003e@​H4ad\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2471d7543e2e63d9d95358e2405e7e1cde926c36\"\u003e\u003ccode\u003e2471d75\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/811\"\u003e#811\u003c/a\u003e x-range build metadata support (i529015)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/8f05c87f56a4123259b8c6d9324f53eadb02e48f\"\u003e\u003ccode\u003e8f05c87\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/807\"\u003e#807\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.25.0 to 4.25.1 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/807\"\u003e#807\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/owlstronaut\"\u003e\u003ccode\u003e@​owlstronaut\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2\"\u003e7.7.2\u003c/a\u003e (2025-05-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/fcafb61ed566ff8ccf24818dd94b76738f037aa4\"\u003e\u003ccode\u003efcafb61\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/780\"\u003e#780\u003c/a\u003e add missing \u003ccode\u003e'use strict'\u003c/code\u003e directives (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c99f336fa3bdff465652f9041eab2127d2f52eb2\"\u003e\u003ccode\u003ec99f336\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/781\"\u003e#781\u003c/a\u003e prerelease identifier starting with digits (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/781\"\u003e#781\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c760403b935d3ad35f83e9bbe5ebe1badef2fc71\"\u003e\u003ccode\u003ec760403\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/784\"\u003e#784\u003c/a\u003e template-oss-apply for workflow permissions (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/784\"\u003e#784\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/2677f2a88334b0e728dbfe9ad9f5f57458437c87\"\u003e\u003ccode\u003e2677f2a\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/778\"\u003e#778\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.23.6 to 4.24.3 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/778\"\u003e#778\u003c/a\u003e) (\u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot], \u003ca href=\"https://github.com/npm-cli-bot\"\u003e\u003ccode\u003e@​npm-cli-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.7.0...v7.7.1\"\u003e7.7.1\u003c/a\u003e (2025-02-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/af761c05bd53eef83b5e20f8b09360b0e70557dc\"\u003e\u003ccode\u003eaf761c0\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/764\"\u003e#764\u003c/a\u003e inc: fully capture prerelease identifier (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/764\"\u003e#764\u003c/a\u003e) (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/node-semver/compare/v7.6.3...v7.7.0\"\u003e7.7.0\u003c/a\u003e (2025-01-29)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0864b3ce7932667013e0c7c5ec764777d4682883\"\u003e\u003ccode\u003e0864b3c\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/753\"\u003e#753\u003c/a\u003e add \u0026quot;release\u0026quot; inc type (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/753\"\u003e#753\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/d588e3782864b1cab2fe9f2452b848e8c7f609d1\"\u003e\u003ccode\u003ed588e37\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/755\"\u003e#755\u003c/a\u003e diff: fix prerelease to stable version diff logic (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/755\"\u003e#755\u003c/a\u003e) (\u003ca href=\"https://github.com/eminberkayd\"\u003e\u003ccode\u003e@​eminberkayd\u003c/code\u003e\u003c/a\u003e, berkay.daglar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/8a34bdecc783407f4e1a8a1ee1f67906b84a4b78\"\u003e\u003ccode\u003e8a34bde\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/node-semver/pull/754\"\u003e#754\u003c/a\u003e add identifier validation to \u003ccode\u003einc()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/754\"\u003e#754\u003c/a\u003e) (\u003ca href=\"https://github.com/mbtools\"\u003e\u003ccode\u003e@​mbtools\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/npm/node-semver/commit/efa4be6096c1f9b77d9d27d6132f6220c43b4e31\"\u003e\u003ccode\u003eefa4be6\u003c/code\u003e\u003c/a\u003e chore: release 7.8.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/847\"\u003e#847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/9542e09ebcd89e916777d35eba868061dad9ed7d\"\u003e\u003ccode\u003e9542e09\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/937bc2cd8721db14745c9be123078c44e77a86ef\"\u003e\u003ccode\u003e937bc2c\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply@5.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/3905343045dc293c3694d5e46170b1bb1fb5cf58\"\u003e\u003ccode\u003e3905343\u003c/code\u003e\u003c/a\u003e fix: Warn when defaulting to --inc=patch in CLI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/0d0a0a2582fb1486bc6cd255ba18819c441ed149\"\u003e\u003ccode\u003e0d0a0a2\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003etruncate\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/855\"\u003e#855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/c368af612e521767e960419e6388c5129c857984\"\u003e\u003ccode\u003ec368af6\u003c/code\u003e\u003c/a\u003e docs: fix typos in documentation (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/853\"\u003e#853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/6946fefa57bd5e191871a4738b28ca673e003527\"\u003e\u003ccode\u003e6946fef\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 4.30.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/852\"\u003e#852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/37776c31e2f3448fd852c975888e37b03efe9afe\"\u003e\u003ccode\u003e37776c3\u003c/code\u003e\u003c/a\u003e docs: fix BNF grammar to distinguish prerelease from build identifiers (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/846\"\u003e#846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/5993c2e42bdf17c5f03e6360da51bc707fcee460\"\u003e\u003ccode\u003e5993c2e\u003c/code\u003e\u003c/a\u003e chore: release 7.7.4 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/839\"\u003e#839\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/node-semver/commit/120968b76760cb0db85a72bde2adedd0e9628793\"\u003e\u003ccode\u003e120968b\u003c/code\u003e\u003c/a\u003e deps: \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.29.0 (\u003ca href=\"https://redirect.github.com/npm/node-semver/issues/840\"\u003e#840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/npm/node-semver/compare/v6.3.1...v7.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for semver since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@cypress/request` from 3.0.10 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cypress-io/request/releases\"\u003e@​cypress/request's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/cypress-io/request/compare/v3.0.10...v4.0.0\"\u003e4.0.0\u003c/a\u003e (2026-04-30)\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eMerge pull request \u003ca href=\"https://redirect.github.com/cypress-io/request/issues/105\"\u003e#105\u003c/a\u003e from cypress-io/deps/rm-uuid (\u003ca href=\"https://github.com/cypress-io/request/commit/12b38c97e505b307e24efc131dca11a6941406e6\"\u003e12b38c9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe minimum supported Node.js version is now \u0026gt;= 14.17.0\n(\u003ccode\u003ecrypto.randomUUID()\u003c/code\u003e). Consumers must run on Node 14.17+ (or a newer\nsupported release). Upgrade Node before upgrading \u003ccode\u003e@​cypress/request\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eProjects pinned to older Node versions will fail at install time due to the\n\u003ccode\u003eengines\u003c/code\u003e field and may fail at runtime if they bypass it.\nRefs: \u003ca href=\"https://redirect.github.com/cypress-io/request/pull/105\"\u003ecypress-io/request#105\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/request/commit/12b38c97e505b307e24efc131dca11a6941406e6\"\u003e\u003ccode\u003e12b38c9\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cypress-io/request/issues/105\"\u003e#105\u003c/a\u003e from cypress-io/deps/rm-uuid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/request/commit/e334dd84f0cc894a5e69513640200bc107cf5d3a\"\u003e\u003ccode\u003ee334dd8\u003c/code\u003e\u003c/a\u003e BREAKING: update minimum node version to 14.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cypress-io/request/commit/70413a92ae7b2fffa03748f78e4cbd6ad34d1629\"\u003e\u003ccode\u003e70413a9\u003c/code\u003e\u003c/a\u003e chore(deps): remove uuid, use built-in crypto\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cypress-io/request/compare/v3.0.10...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `debug` from 3.2.7 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/debug-js/debug/releases\"\u003edebug's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.4.3\u003c/h2\u003e\n\u003cp\u003eFunctionally identical release to \u003ccode\u003e4.4.1\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eVersion \u003ccode\u003e4.4.2\u003c/code\u003e is \u003cstrong\u003ecompromised\u003c/strong\u003e. Please see \u003ca href=\"https://redirect.github.com/debug-js/debug/issues/1005\"\u003edebug-js/debug#1005\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e4.4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(Issue-996): replace whitespaces in namespaces string with commas globally by \u003ca href=\"https://github.com/pdahal-cx\"\u003e\u003ccode\u003e@​pdahal-cx\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/997\"\u003edebug-js/debug#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes \u003ca href=\"https://redirect.github.com/debug-js/debug/issues/987\"\u003e#987\u003c/a\u003e fallback to localStorage.DEBUG if debug is not defined by \u003ca href=\"https://github.com/lzilioli\"\u003e\u003ccode\u003e@​lzilioli\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/988\"\u003edebug-js/debug#988\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/pdahal-cx\"\u003e\u003ccode\u003e@​pdahal-cx\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/997\"\u003edebug-js/debug#997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lzilioli\"\u003e\u003ccode\u003e@​lzilioli\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/988\"\u003edebug-js/debug#988\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.4.0...4.4.1\"\u003ehttps://github.com/debug-js/debug/compare/4.4.0...4.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.4.0\u003c/h2\u003e\n\u003cp\u003eFixes (hopefully) the inefficient regex warnings in \u003ccode\u003e.enable()\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eMinor version as this is invariably going to break certain users who misuse the \u003ccode\u003e.enable()\u003c/code\u003e API and expected it to work with regexes, which was never supported nor documented. That's on you, sorry - that functionality won't be added back.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.3.7...4.4.0\"\u003ehttps://github.com/debug-js/debug/compare/4.3.7...4.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.3.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade ms to version 2.1.3 by \u003ca href=\"https://github.com/realityking\"\u003e\u003ccode\u003e@​realityking\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/819\"\u003edebug-js/debug#819\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.3.6...4.3.7\"\u003ehttps://github.com/debug-js/debug/compare/4.3.6...4.3.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.3.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAvoid using deprecated RegExp.$1 by \u003ca href=\"https://github.com/bluwy\"\u003e\u003ccode\u003e@​bluwy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/969\"\u003edebug-js/debug#969\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/bluwy\"\u003e\u003ccode\u003e@​bluwy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/969\"\u003edebug-js/debug#969\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/debug-js/debug/compare/4.3.5...4.3.6\"\u003ehttps://github.com/debug-js/debug/compare/4.3.5...4.3.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.3.5\u003c/h2\u003e\n\u003ch1\u003ePatch\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ecac39b1c5b018b0fe93a53a05f084eee543d17f5 Fix/debug depth (\u003ca href=\"https://redirect.github.com/debug-js/debug/issues/926\"\u003e#926\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThank you \u003ca href=\"https://github.com/calvintwr\"\u003e\u003ccode\u003e@​calvintwr\u003c/code\u003e\u003c/a\u003e for the fix.\u003c/p\u003e\n\u003ch2\u003e4.3.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd section about configuring JS console to show debug messages by \u003ca href=\"https://github.com/gitname\"\u003e\u003ccode\u003e@​gitname\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/866\"\u003edebug-js/debug#866\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReplace deprecated String.prototype.substr() by \u003ca href=\"https://github.com/CommanderRoot\"\u003e\u003ccode\u003e@​CommanderRoot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/debug-js/debug/pull/876\"\u003edebug-js/debug#876\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/6b2c5fbdb7d414483d9e306ef234acb4cd7ea67c\"\u003e\u003ccode\u003e6b2c5fb\u003c/code\u003e\u003c/a\u003e 4.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/33330fa8616b9b33f29f7674747be77266878ba6\"\u003e\u003ccode\u003e33330fa\u003c/code\u003e\u003c/a\u003e 4.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/98df33ed9d5215c1d801b74e6ab00969759a6839\"\u003e\u003ccode\u003e98df33e\u003c/code\u003e\u003c/a\u003e remove istanbul\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/bf2f574c3e588ce4b660bf4e392e7a5e788640c0\"\u003e\u003ccode\u003ebf2f574\u003c/code\u003e\u003c/a\u003e fixes \u003ca href=\"https://redirect.github.com/debug-js/debug/issues/987\"\u003e#987\u003c/a\u003e fallback to localStorage.DEBUG if debug is not defined (\u003ca href=\"https://redirect.github.com/debug-js/debug/issues/988\"\u003e#988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/a0497bd46dacb701437f62cfc065dc72bf0952c7\"\u003e\u003ccode\u003ea0497bd\u003c/code\u003e\u003c/a\u003e Replace whitespaces in namespaces string with commas globally instead of just...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/7e3814cc603bf64fdd69e714e0cf5611ec31f43b\"\u003e\u003ccode\u003e7e3814c\u003c/code\u003e\u003c/a\u003e 4.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/d2d6bf0bab3a0eeeb3a9ce7113cb0a31d8da678f\"\u003e\u003ccode\u003ed2d6bf0\u003c/code\u003e\u003c/a\u003e fix inefficient .enable() regex and .enabled() test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/bc60914816e5e45a5fff1cd638410438fc317521\"\u003e\u003ccode\u003ebc60914\u003c/code\u003e\u003c/a\u003e 4.3.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/c63e96e6495cdb8e15d2affa8dad105c48a21c92\"\u003e\u003ccode\u003ec63e96e\u003c/code\u003e\u003c/a\u003e Upgrade ms to version 2.1.3 (\u003ca href=\"https://redirect.github.com/debug-js/debug/issues/819\"\u003e#819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/debug-js/debug/commit/382864a45a7...\n\n_Description has been truncated_","html_url":"https://github.com/ken-guru/github-copilot-agent-assisted-next-app/pull/591","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ken-guru%2Fgithub-copilot-agent-assisted-next-app/issues/591","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/591/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-09-05T14:56:38.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2802854114","node_id":"PR_kwDOPefcCc6nECji","number":3,"state":"open","title":"deps(deps): bump the development-dependencies group with 96 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-09-05T14:56:38.000Z","updated_at":"2025-09-05T14:56:38.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"development-dependencies","update_count":96,"packages":[{"name":"@next/bundle-analyzer","old_version":"15.5.0","new_version":"15.5.2","repository_url":"https://github.com/vercel/next.js"},{"name":"@sentry/cli","old_version":"2.52.0","new_version":"2.53.0","repository_url":"https://github.com/getsentry/sentry-cli"},{"name":"@types/bcryptjs","old_version":"2.4.6","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"20.19.11","new_version":"20.19.13","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"cross-env","old_version":"7.0.3","new_version":"10.0.0","repository_url":"https://github.com/kentcdodds/cross-env"},{"name":"eslint","old_version":"9.33.0","new_version":"9.34.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-next","old_version":"15.5.0","new_version":"15.5.2","repository_url":"https://github.com/vercel/next.js"},{"name":"jest","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"lint-staged","old_version":"15.5.2","new_version":"16.1.6","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"tailwindcss","old_version":"3.4.17","new_version":"4.1.13","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@emnapi/core","old_version":"1.4.5","new_version":"1.5.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@emnapi/wasi-threads","old_version":"1.0.4","new_version":"1.1.0","repository_url":"https://github.com/toyobayashi/emnapi"},{"name":"@eslint-community/eslint-utils","old_version":"4.7.0","new_version":"4.8.0","repository_url":"https://github.com/eslint-community/eslint-utils"},{"name":"@eslint/js","old_version":"9.33.0","new_version":"9.34.0","repository_url":"https://github.com/eslint/eslint"},{"name":"@humanfs/node","old_version":"0.16.6","new_version":"0.16.7","repository_url":"https://github.com/humanwhocodes/humanfs"},{"name":"@humanwhocodes/retry","old_version":"0.3.1","new_version":"0.4.3","repository_url":"https://github.com/humanwhocodes/retry"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"expect","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/get-type","old_version":"30.0.1","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@next/eslint-plugin-next","old_version":"15.5.0","new_version":"15.5.2","repository_url":"https://github.com/vercel/next.js"},{"name":"@sentry/cli-win32-arm64","old_version":"2.52.0","new_version":"2.53.0","repository_url":"https://github.com/getsentry/sentry-cli"},{"name":"@sinclair/typebox","old_version":"0.27.8","new_version":"0.34.41","repository_url":"https://github.com/sinclairzx81/typebox"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/jsdom","old_version":"20.0.1","new_version":"21.1.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/project-service","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/scope-manager","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/tsconfig-utils","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/type-utils","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/types","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/utils","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/visitor-keys","old_version":"8.40.0","new_version":"8.42.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vue/compiler-sfc","old_version":"3.5.20","new_version":"3.5.21","repository_url":"https://github.com/vuejs/core"},{"name":"@vue/compiler-ssr","old_version":"3.5.20","new_version":"3.5.21","repository_url":"https://github.com/vuejs/core"},{"name":"@vue/shared","old_version":"3.5.20","new_version":"3.5.21","repository_url":"https://github.com/vuejs/core"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.3.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cssstyle","old_version":"2.3.0","new_version":"4.6.0","repository_url":"https://github.com/jsdom/cssstyle"},{"name":"data-urls","old_version":"3.0.2","new_version":"5.0.0","repository_url":"https://github.com/jsdom/data-urls"},{"name":"dedent","old_version":"1.6.0","new_version":"1.7.0","repository_url":"https://github.com/dmnd/dedent"},{"name":"get-east-asian-width","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/sindresorhus/get-east-asian-width"},{"name":"html-encoding-sniffer","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/html-encoding-sniffer"},{"name":"http-proxy-agent","old_version":"5.0.0","new_version":"7.0.2","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.1.2","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.1.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.1.3","repository_url":"https://github.com/jestjs/jest"},{"name":"jiti","old_version":"1.21.7","new_version":"2.5.1","repository_url":"https://github.com/unjs/jiti"},{"name":"jsdom","old_version":"20.0.3","new_version":"26.1.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"listr2","old_version":"8.3.3","new_version":"9.0.3","repository_url":"https://github.com/listr2/listr2"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"tough-cookie","old_version":"4.1.4","new_version":"5.1.2","repository_url":"https://github.com/salesforce/tough-cookie"},{"name":"w3c-xmlserializer","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/w3c-xmlserializer"},{"name":"whatwg-encoding","old_version":"2.0.0","new_version":"3.1.1","repository_url":"https://github.com/jsdom/whatwg-encoding"},{"name":"whatwg-mimetype","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/whatwg-mimetype"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"},{"name":"xml-name-validator","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/xml-name-validator"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 96 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@next/bundle-analyzer](https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer) | `15.5.0` | `15.5.2` |\n| [@sentry/cli](https://github.com/getsentry/sentry-cli) | `2.52.0` | `2.53.0` |\n| [@types/bcryptjs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcryptjs) | `2.4.6` | `3.0.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.11` | `20.19.13` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.40.0` | `8.42.0` |\n| [cross-env](https://github.com/kentcdodds/cross-env) | `7.0.3` | `10.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.33.0` | `9.34.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `15.5.0` | `15.5.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.1.3` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `29.7.0` | `30.1.2` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `16.1.6` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.17` | `4.1.13` |\n| [@emnapi/core](https://github.com/toyobayashi/emnapi) | `1.4.5` | `1.5.0` |\n| [@emnapi/wasi-threads](https://github.com/toyobayashi/emnapi) | `1.0.4` | `1.1.0` |\n| [@eslint-community/eslint-utils](https://github.com/eslint-community/eslint-utils) | `4.7.0` | `4.8.0` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.33.0` | `9.34.0` |\n| [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) | `0.16.6` | `0.16.7` |\n| [@humanwhocodes/retry](https://github.com/humanwhocodes/retry) | `0.3.1` | `0.4.3` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.1.2` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.1.0` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.5` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.1.3` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.1.3` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.1.2` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.5` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.1.2` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.1.2` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.1.2` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.1.2` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.1.2` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.1.2` |\n| [@jest/get-type](https://github.com/jestjs/jest/tree/HEAD/packages/jest-get-type) | `30.0.1` | `30.1.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.1.2` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.1` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.1.3` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.5` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.1` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.1.3` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.1.3` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.1.2` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.5` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `15.5.0` | `15.5.2` |\n| [@sentry/cli-win32-arm64](https://github.com/getsentry/sentry-cli) | `2.52.0` | `2.53.0` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/typebox) | `0.27.8` | `0.34.41` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) | `20.0.1` | `21.1.7` |\n| [@typescript-eslint/project-service](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/tsconfig-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/tsconfig-utils) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.40.0` | `8.42.0` |\n| [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `8.40.0` | `8.42.0` |\n| [@vue/compiler-sfc](https://github.com/vuejs/core/tree/HEAD/packages/compiler-sfc) | `3.5.20` | `3.5.21` |\n| [@vue/compiler-ssr](https://github.com/vuejs/core/tree/HEAD/packages/compiler-ssr) | `3.5.20` | `3.5.21` |\n| [@vue/shared](https://github.com/vuejs/core/tree/HEAD/packages/shared) | `3.5.20` | `3.5.21` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.1.2` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.1` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.1` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.3.0` |\n| [cssstyle](https://github.com/jsdom/cssstyle) | `2.3.0` | `4.6.0` |\n| [data-urls](https://github.com/jsdom/data-urls) | `3.0.2` | `5.0.0` |\n| [dedent](https://github.com/dmnd/dedent) | `1.6.0` | `1.7.0` |\n| [get-east-asian-width](https://github.com/sindresorhus/get-east-asian-width) | `1.3.0` | `1.3.1` |\n| [html-encoding-sniffer](https://github.com/jsdom/html-encoding-sniffer) | `3.0.0` | `4.0.0` |\n| [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) | `5.0.0` | `7.0.2` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.5` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.1.3` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.1.3` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.1` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.1.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.1.2` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.1.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.1.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.1.3` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.1.3` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.1.3` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.1.3` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.1.2` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.1.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.1.3` |\n| [jiti](https://github.com/unjs/jiti) | `1.21.7` | `2.5.1` |\n| [jsdom](https://github.com/jsdom/jsdom) | `20.0.3` | `26.1.0` |\n| [listr2](https://github.com/listr2/listr2) | `8.3.3` | `9.0.3` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [tough-cookie](https://github.com/salesforce/tough-cookie) | `4.1.4` | `5.1.2` |\n| [w3c-xmlserializer](https://github.com/jsdom/w3c-xmlserializer) | `4.0.0` | `5.0.0` |\n| [whatwg-encoding](https://github.com/jsdom/whatwg-encoding) | `2.0.0` | `3.1.1` |\n| [whatwg-mimetype](https://github.com/jsdom/whatwg-mimetype) | `3.0.0` | `4.0.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n| [xml-name-validator](https://github.com/jsdom/xml-name-validator) | `4.0.0` | `5.0.0` |\n\nUpdates `@next/bundle-analyzer` from 15.5.0 to 15.5.2\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\"\u003e\u003ccode\u003e@​next/bundle-analyzer\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev15.5.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: disable unknownatrules lint rule entirely (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83059\"\u003e#83059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erevert: add ?dpl to fonts in /_next/static/media (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83062\"\u003e#83062\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: aliased navigations should apply scroll handling (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82900\"\u003e#82900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: fix invalid NFT entry with file behind symlink (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82887\"\u003e#82887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: typesafe linking to route handlers and pages API routes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82858\"\u003e#82858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: change \u0026quot;noUnknownAtRules\u0026quot; to \u0026quot;warn\u0026quot; for Biome (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82974\"\u003e#82974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add path normalization to getRelativePath for Windows (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82918\"\u003e#82918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add typesafety with config.typedRoutes to redirect() and permanentRedirect() (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82860\"\u003e#82860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid importing types that will be unused (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82856\"\u003e#82856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update the config.api.responseLimit type (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82852\"\u003e#82852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update validation return types (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/82854\"\u003e#82854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mischnic\"\u003e\u003ccode\u003e@​mischnic\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1-canary.28\u003c/h2\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[codemod] return origin src in viewport mod if not changed: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83435\"\u003e#83435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(next/image): introduce \u003ccode\u003epreload\u003c/code\u003e prop and deprecated \u003ccode\u003epriority\u003c/code\u003e prop: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83351\"\u003e#83351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[metadata] use generateStaticParams for getImageMetadata: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83374\"\u003e#83374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Include CSP nonce in next/dynamic preload: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/81999\"\u003e#81999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Segment Cache] use \u003ccode\u003eloading\u003c/code\u003e from dynamic response for unprefetched navigations: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83305\"\u003e#83305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade React from \u003ccode\u003e3302d1f7-20250903\u003c/code\u003e to \u003ccode\u003eb9a04536-20250904\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83446\"\u003e#83446\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: add prerender snapshot for metadata-dynamic-routes test: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83432\"\u003e#83432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Fix broken getImageProps sample code: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83436\"\u003e#83436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eauto-enable errors.json merge driver: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83420\"\u003e#83420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Improve handling of symlink resolution errors in track_glob and read_glob: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83357\"\u003e#83357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack development test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83407\"\u003e#83407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack production test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83408\"\u003e#83408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Add an execution test for the behavior when a module throws an error: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/next-bundle-analyzer/issues/83451\"\u003e#83451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/497ec6aa08a33f9e2d65a5c8461f550c2549d3e6\"\u003e\u003ccode\u003e497ec6a\u003c/code\u003e\u003c/a\u003e v15.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/cc68ced55210aca1716daabefb5aa2006bc3d024\"\u003e\u003ccode\u003ecc68ced\u003c/code\u003e\u003c/a\u003e v15.5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v15.5.2/packages/next-bundle-analyzer\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@sentry/cli` from 2.52.0 to 2.53.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-cli/releases\"\u003e\u003ccode\u003e@​sentry/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.53.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add release notes option (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2712\"\u003e#2712\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges from 2.53.0-alpha\u003c/h3\u003e\n\u003cp\u003e2.53.0-alpha reintroduced the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands. 2.53.0 is the first stable release to reintroduce them.\u003c/p\u003e\n\u003cp\u003ePlease note, the \u003ccode\u003ebuild\u003c/code\u003e commands are still experimental, and are therefore subject to breaking changes, including removal, in any release, without notice.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.53.0-alpha\u003c/h2\u003e\n\u003cp\u003eThis release reintroduces the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands.\u003c/p\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\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/getsentry/sentry-cli/blob/master/CHANGELOG.md\"\u003e\u003ccode\u003e@​sentry/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.53.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add release notes option (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2712\"\u003e#2712\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges from 2.53.0-alpha\u003c/h3\u003e\n\u003cp\u003e2.53.0-alpha reintroduced the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands. 2.53.0 is the first stable release to reintroduce them.\u003c/p\u003e\n\u003cp\u003ePlease note, the \u003ccode\u003ebuild\u003c/code\u003e commands are still experimental, and are therefore subject to breaking changes, including removal, in any release, without notice.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.53.0-alpha\u003c/h2\u003e\n\u003cp\u003eThis release reintroduces the \u003ccode\u003ebuild\u003c/code\u003e (previously named \u003ccode\u003emobile-app\u003c/code\u003e) commands.\u003c/p\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2706\"\u003e#2706\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e) by \u003ca href=\"https://github.com/rbro112\"\u003e\u003ccode\u003e@​rbro112\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e) by \u003ca href=\"https://github.com/noahsmartin\"\u003e\u003ccode\u003e@​noahsmartin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emeta(cursor): Add rule to avoid explicit type annotations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2717\"\u003e#2717\u003c/a\u003e) by \u003ca href=\"https://github.com/szokeasaurusrex\"\u003e\u003ccode\u003e@​szokeasaurusrex\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eretry on cloudflare timeout (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2695\"\u003e#2695\u003c/a\u003e) by \u003ca href=\"https://github.com/manishrawat1992\"\u003e\u003ccode\u003e@​manishrawat1992\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/getsentry/sentry-cli/commit/80ffbe58a1c827486a797855c19a292e4668d4f5\"\u003e\u003ccode\u003e80ffbe5\u003c/code\u003e\u003c/a\u003e meta: update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/783b75e2cb0f728a2dbf68f694fb66665c5f86d7\"\u003e\u003ccode\u003e783b75e\u003c/code\u003e\u003c/a\u003e release: 2.53.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/09754edd0c85ae2aebbb6c9b1f724648cf74470d\"\u003e\u003ccode\u003e09754ed\u003c/code\u003e\u003c/a\u003e meta(cursor): Tell Cursor to \u003ccode\u003ecargo fmt\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2721\"\u003e#2721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/87be223c54e19ce86fcaaad8d926a8394ed4419d\"\u003e\u003ccode\u003e87be223\u003c/code\u003e\u003c/a\u003e feat(mobile-app): Add release notes option (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2712\"\u003e#2712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/d20139c587db7d6fa655e1f166632e121083d3f5\"\u003e\u003ccode\u003ed20139c\u003c/code\u003e\u003c/a\u003e Merge branch 'release/2.53.0-alpha'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/29e36b907837a829622a2328b75d4b075b75fbdf\"\u003e\u003ccode\u003e29e36b9\u003c/code\u003e\u003c/a\u003e meta: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/ab8f32c5a555ec59bad37cbc321601cb0f146301\"\u003e\u003ccode\u003eab8f32c\u003c/code\u003e\u003c/a\u003e release: 2.53.0-alpha\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/9064d5ead212cb1e21a2d5c7e6df9b43dfae0982\"\u003e\u003ccode\u003e9064d5e\u003c/code\u003e\u003c/a\u003e feat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/7f5cb5d3b43eaed458c8ce98a1d740b3683cb2f4\"\u003e\u003ccode\u003e7f5cb5d\u003c/code\u003e\u003c/a\u003e chore(mobile-app): Rename mobile-app subcommand to build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2719\"\u003e#2719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/commit/29151e598408f77c767f671e20fdef4a5a0ea3e1\"\u003e\u003ccode\u003e29151e5\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat(mobile-app): Reintroduce mobile-app feature gating (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2643\"\u003e#2643\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://redirect.github.com/getsentry/sentry-cli/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-cli/compare/2.52.0...2.53.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/bcryptjs` from 2.4.6 to 3.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/bcryptjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 20.19.11 to 20.19.13\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.40.0 to 8.42.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.42.0\u003c/h2\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate tseslint.config() (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11531\"\u003e#11531\u003c/a\u003e) -- see \u003ca href=\"https://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\"\u003ehttps://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update eslint monorepo to v9.33.0 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e handle non-normalized windows paths produced by jiti (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11546\"\u003e#11546\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\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.41.0\u003c/h2\u003e\n\u003ch2\u003e8.41.0 (2025-08-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etighten \u003ccode\u003etsconfigRootDir\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11463\"\u003e#11463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update eslint monorepo to v9.33.0 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\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.41.0 (2025-08-25)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update dependency prettier to v3.6.2 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11496\"\u003e#11496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/d13590979dc4130525d7b321230298dcdebc176f\"\u003e\u003ccode\u003ed135909\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0daf303232f3252076e96dc9821111d02a70e815\"\u003e\u003ccode\u003e0daf303\u003c/code\u003e\u003c/a\u003e chore: use new ESLint rules internally (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11558\"\u003e#11558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ee3efa7a112e50fb003530658bce193c990c0b85\"\u003e\u003ccode\u003eee3efa7\u003c/code\u003e\u003c/a\u003e feat(typescript-estree): forbid invalid keys in \u003ccode\u003eEnumMember\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11497\"\u003e#11497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/264ca2fad49a298a2963de83746f8e8044229a3b\"\u003e\u003ccode\u003e264ca2f\u003c/code\u003e\u003c/a\u003e fix(deps): update eslint monorepo to v9.33.0 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/31a73361bd6449974c89b78ef77be0d04e77510b\"\u003e\u003ccode\u003e31a7336\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a4526b3f68d5625c50e83fe472babeca67c92cb7\"\u003e\u003ccode\u003ea4526b3\u003c/code\u003e\u003c/a\u003e chore: skip failing tests to fix CI (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11505\"\u003e#11505\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/03e21eb255cd6070f4222086601b38db1be0bcf3\"\u003e\u003ccode\u003e03e21eb\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency prettier to v3.6.2 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11496\"\u003e#11496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/eslint-plugin\"\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 [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for \u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.40.0 to 8.42.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.42.0\u003c/h2\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edeprecate tseslint.config() (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11531\"\u003e#11531\u003c/a\u003e) -- see \u003ca href=\"https://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\"\u003ehttps://typescript-eslint.io/packages/typescript-eslint#migrating-to-defineconfig\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update eslint monorepo to v9.33.0 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11482\"\u003e#11482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e handle non-normalized windows paths produced by jiti (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11546\"\u003e#11546\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\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.41.0\u003c/h2\u003e\n\u003ch2\u003e8.41.0 (2025-08-25)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etighten \u003ccode\u003etsconfigRootDir\u003c/code\u003e validation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11463\"\u003e#11463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.42.0 (2025-09-02)\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\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.41.0 (2025-08-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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/d13590979dc4130525d7b321230298dcdebc176f\"\u003e\u003ccode\u003ed135909\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/31a73361bd6449974c89b78ef77be0d04e77510b\"\u003e\u003ccode\u003e31a7336\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.41.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/parser\"\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 [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `cross-env` from 7.0.3 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kentcdodds/cross-env/releases\"\u003ecross-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/compare/v9.0.0...v10.0.0\"\u003e10.0.0\u003c/a\u003e (2025-07-25)\u003c/h1\u003e\n\u003cp\u003eTL;DR: You should probably not have to change anything if:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eYou're using a modern maintained version of Node.js (v20+ is tested)\u003c/li\u003e\n\u003cli\u003eYou're only using the CLI (most of you are as that's the intended purpose)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIn this release (which should have been v8 except I had some issues with automated releases 🙈), I've updated all the things and modernized the package. This happened in \u003ca href=\"https://redirect.github.com/kentcdodds/cross-env/issues/261\"\u003e#261\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWas this needed? Not really, but I just thought it'd be fun to modernize this package.\u003c/p\u003e\n\u003cp\u003eHere's the highlights of what was done.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eReplace Jest with Vitest for testing\u003c/li\u003e\n\u003cli\u003eConvert all source files from .js to .ts with proper TypeScript types\u003c/li\u003e\n\u003cli\u003eUse zshy for ESM-only builds (removes CJS support)\u003c/li\u003e\n\u003cli\u003eAdopt \u003ccode\u003e@​epic-web/config\u003c/code\u003e for TypeScript, ESLint, and Prettier\u003c/li\u003e\n\u003cli\u003eUpdate to Node.js \u0026gt;=20 requirement\u003c/li\u003e\n\u003cli\u003eRemove kcd-scripts dependency\u003c/li\u003e\n\u003cli\u003eAdd comprehensive e2e tests with GitHub Actions matrix testing\u003c/li\u003e\n\u003cli\u003eUpdate GitHub workflow with caching and cross-platform testing\u003c/li\u003e\n\u003cli\u003eModernize documentation and remove outdated sections\u003c/li\u003e\n\u003cli\u003eUpdate all dependencies to latest versions\u003c/li\u003e\n\u003cli\u003eAdd proper TypeScript declarations and exports\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe tool maintains its original functionality while being completely modernized with the latest tooling and best practices\u003c/p\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThis is a major rewrite that changes the module format from CommonJS to ESM-only. The package now requires Node.js \u0026gt;=20 and only exports ESM modules (not relevant in most cases).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/8635e80e81080f3e8f83b514565dc6bfecf6760c\"\u003e\u003ccode\u003e8635e80\u003c/code\u003e\u003c/a\u003e fix(release): manually release a major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/3a58f2236009b2f52479f2927c7790129450ec63\"\u003e\u003ccode\u003e3a58f22\u003c/code\u003e\u003c/a\u003e chore: fix npmrc registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/b70bfff5ecff5c92f2462cd6334378ef5bd84db0\"\u003e\u003ccode\u003eb70bfff\u003c/code\u003e\u003c/a\u003e chore(ci): add names to steps and workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/cc5759dc36012c4b13b3d3b1af5e0a645d3c55f6\"\u003e\u003ccode\u003ecc5759d\u003c/code\u003e\u003c/a\u003e fix(release): manually release a major version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/080a8591909665f42592d73e1149d0a061164045\"\u003e\u003ccode\u003e080a859\u003c/code\u003e\u003c/a\u003e chore: remove publish script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/31e5bc70e726dee8e453dd64d54ad02eeb66e23a\"\u003e\u003ccode\u003e31e5bc7\u003c/code\u003e\u003c/a\u003e chore(ci): restore built files\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/81e9c34f55c483dc1f568696db36267748b3740d\"\u003e\u003ccode\u003e81e9c34\u003c/code\u003e\u003c/a\u003e chore(ci): add back semantic-release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/3e380cb3f6a09515011cdc3354ed61986eb8d2ef\"\u003e\u003ccode\u003e3e380cb\u003c/code\u003e\u003c/a\u003e fix: link to license\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/064247295945b2b8d922dc725cb58e779458e7fd\"\u003e\u003ccode\u003e0642472\u003c/code\u003e\u003c/a\u003e fix: handle edge case and update README for clarity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kentcdodds/cross-env/commit/3ff5b3d7eebf14edf186d6fef44956bdd4a61b27\"\u003e\u003ccode\u003e3ff5b3d\u003c/code\u003e\u003c/a\u003e feat: modernize cross-env with TypeScript, Vitest, and ESM-only build (\u003ca href=\"https://redirect.github.com/kentcdodds/cross-env/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/kentcdodds/cross-env/compare/v7.0.3...v10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.33.0 to 9.34.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.34.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33\"\u003e\u003ccode\u003e0bb777a\u003c/code\u003e\u003c/a\u003e feat: multithread linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19794\"\u003e#19794\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab\"\u003e\u003ccode\u003e43a5f9e\u003c/code\u003e\u003c/a\u003e feat: add eslint-plugin-regexp to eslint-config-eslint base config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19951\"\u003e#19951\u003c/a\u003e) (Pixel998)\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/9b8990397b2d2ed70771bb0e2070261a0c41782c\"\u003e\u003ccode\u003e9b89903\u003c/code\u003e\u003c/a\u003e fix: default value of accessor-pairs option in rule.d.ts file (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20024\"\u003e#20024\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d\"\u003e\u003ccode\u003e6c07420\u003c/code\u003e\u003c/a\u003e fix: fix spurious failure in neostandard integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20023\"\u003e#20023\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b\"\u003e\u003ccode\u003e676f4ac\u003c/code\u003e\u003c/a\u003e fix: allow scientific notation with trailing zeros matching exponent (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20002\"\u003e#20002\u003c/a\u003e) (Sweta Tanwar)\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/0b4a590333b73a21b9e0ddc98462680e09fe3232\"\u003e\u003ccode\u003e0b4a590\u003c/code\u003e\u003c/a\u003e docs: make rulesdir deprecation clearer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20018\"\u003e#20018\u003c/a\u003e) (Domenico Gemoli)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522\"\u003e\u003ccode\u003e327c672\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/bf2622991f5b892610a8c3343ff16519e5fd7a79\"\u003e\u003ccode\u003ebf26229\u003c/code\u003e\u003c/a\u003e docs: Fix typo in core-concepts/index.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20009\"\u003e#20009\u003c/a\u003e) (Tobias Hernstig)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a\"\u003e\u003ccode\u003e2309327\u003c/code\u003e\u003c/a\u003e docs: fix typo in the \u0026quot;Configuring Rules\u0026quot; section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20001\"\u003e#20001\u003c/a\u003e) (ghazi-git)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29\"\u003e\u003ccode\u003e2b87e21\u003c/code\u003e\u003c/a\u003e docs: [no-else-return] clarify sample code. (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19991\"\u003e#19991\u003c/a\u003e) (Yuki Takada (Yukinosuke Takada))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a\"\u003e\u003ccode\u003ec36570c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be\"\u003e\u003ccode\u003ef19ad94\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.34.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20030\"\u003e#20030\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c\"\u003e\u003ccode\u003eb48fa20\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda\"\u003e\u003ccode\u003e4bce8a2\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b\"\u003e\u003ccode\u003e0c9999c\u003c/code\u003e\u003c/a\u003e refactor: prefer default options in \u003ccode\u003egrouped-accessor-pairs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20028\"\u003e#20028\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d503f1981354c7b86e423879846c61e0405af8fe\"\u003e\u003ccode\u003ed503f19\u003c/code\u003e\u003c/a\u003e ci: fix \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20010\"\u003e#20010\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883\"\u003e\u003ccode\u003ee2dc67d\u003c/code\u003e\u003c/a\u003e ci: centralize \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19994\"\u003e#19994\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a\"\u003e\u003ccode\u003e7093cb8\u003c/code\u003e\u003c/a\u003e ci: bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20005\"\u003e#20005\u003c/a\u003e) (dependabot[bot])\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/eslint/blob/main/CHANGELOG.md\"\u003eeslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev9.34.0 - August 22, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be\"\u003e\u003ccode\u003ef19ad94\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.34.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20030\"\u003e#20030\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c\"\u003e\u003ccode\u003eb48fa20\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda\"\u003e\u003ccode\u003e4bce8a2\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b\"\u003e\u003ccode\u003e0c9999c\u003c/code\u003e\u003c/a\u003e refactor: prefer default options in \u003ccode\u003egrouped-accessor-pairs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20028\"\u003e#20028\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232\"\u003e\u003ccode\u003e0b4a590\u003c/code\u003e\u003c/a\u003e docs: make rulesdir deprecation clearer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20018\"\u003e#20018\u003c/a\u003e) (Domenico Gemoli)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c\"\u003e\u003ccode\u003e9b89903\u003c/code\u003e\u003c/a\u003e fix: default value of accessor-pairs option in rule.d.ts file (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20024\"\u003e#20024\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d\"\u003e\u003ccode\u003e6c07420\u003c/code\u003e\u003c/a\u003e fix: fix spurious failure in neostandard integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20023\"\u003e#20023\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b\"\u003e\u003ccode\u003e676f4ac\u003c/code\u003e\u003c/a\u003e fix: allow scientific notation with trailing zeros matching exponent (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20002\"\u003e#20002\u003c/a\u003e) (Sweta Tanwar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/327c67256fbeaf9d5e365802c2a11f5d32a16522\"\u003e\u003ccode\u003e327c672\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/d503f1981354c7b86e423879846c61e0405af8fe\"\u003e\u003ccode\u003ed503f19\u003c/code\u003e\u003c/a\u003e ci: fix \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20010\"\u003e#20010\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0bb777a82b533df595cd520d9c89d291efa14a33\"\u003e\u003ccode\u003e0bb777a\u003c/code\u003e\u003c/a\u003e feat: multithread linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19794\"\u003e#19794\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bf2622991f5b892610a8c3343ff16519e5fd7a79\"\u003e\u003ccode\u003ebf26229\u003c/code\u003e\u003c/a\u003e docs: Fix typo in core-concepts/index.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20009\"\u003e#20009\u003c/a\u003e) (Tobias Hernstig)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43a5f9e36f1aade16f81fc49ef4b333660faadab\"\u003e\u003ccode\u003e43a5f9e\u003c/code\u003e\u003c/a\u003e feat: add eslint-plugin-regexp to eslint-config-eslint base config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19951\"\u003e#19951\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e2dc67d8b028147de4da35c64efe1d74c9f6a883\"\u003e\u003ccode\u003ee2dc67d\u003c/code\u003e\u003c/a\u003e ci: centralize \u003ccode\u003estale.yml\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19994\"\u003e#19994\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7093cb8f590ec2a1b5364d7b5687e9b5f4e06f8a\"\u003e\u003ccode\u003e7093cb8\u003c/code\u003e\u003c/a\u003e ci: bump actions/checkout from 4 to 5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20005\"\u003e#20005\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2309327554acbf011f0d17e7b36fdd68e43adf3a\"\u003e\u003ccode\u003e2309327\u003c/code\u003e\u003c/a\u003e docs: fix typo in the \u0026quot;Configuring Rules\u0026quot; section (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20001\"\u003e#20001\u003c/a\u003e) (ghazi-git)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b87e21321422c120c2248dae25cac7f9eec0f29\"\u003e\u003ccode\u003e2b87e21\u003c/code\u003e\u003c/a\u003e docs: [no-else-return] clarify sample code. (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19991\"\u003e#19991\u003c/a\u003e) (Yuki Takada (Yukinosuke Takada))\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c36570c6657c2a92dbb4f09a8166a4d9909a091a\"\u003e\u003ccode\u003ec36570c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b8875f67a7bc99824f19147f4a669be7e98f3eee\"\u003e\u003ccode\u003eb8875f6\u003c/code\u003e\u003c/a\u003e 9.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2e455fb433c4cae19572d75d866392f3b5a677d0\"\u003e\u003ccode\u003e2e455fb\u003c/code\u003e\u003c/a\u003e Build: changelog update for 9.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f19ad9493e0ca04c2c1455fbb3402eaad993a8be\"\u003e\u003ccode\u003ef19ad94\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.34.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20030\"\u003e#20030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b48fa20034e53bc65d1a58f3d834705e3087b00c\"\u003e\u003ccode\u003eb48fa20\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bce8a250262ec47207bc260581f979e40c86bda\"\u003e\u003ccode\u003e4bce8a2\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0c9999c2a682151cf13bb3a4f8916930678c2f9b\"\u003e\u003ccode\u003e0c9999c\u003c/code\u003e\u003c/a\u003e refactor: prefer default options in \u003ccode\u003egrouped-accessor-pairs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20028\"\u003e#20028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0b4a590333b73a21b9e0ddc98462680e09fe3232\"\u003e\u003ccode\u003e0b4a590\u003c/code\u003e\u003c/a\u003e docs: make rulesdir deprecation clearer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20018\"\u003e#20018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9b8990397b2d2ed70771bb0e2070261a0c41782c\"\u003e\u003ccode\u003e9b89903\u003c/code\u003e\u003c/a\u003e fix: default value of accessor-pairs option in rule.d.ts file (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20024\"\u003e#20024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c074206ae0eae4816197a57648b415832a20e1d\"\u003e\u003ccode\u003e6c07420\u003c/code\u003e\u003c/a\u003e fix: fix spurious failure in neostandard integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20023\"\u003e#20023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/676f4acaaed6e4f6ffe0c2e21272d4702b311a7b\"\u003e\u003ccode\u003e676f4ac\u003c/code\u003e\u003c/a\u003e fix: allow scientific notation with trailing zeros matching exponent (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20002\"\u003e#20002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.33.0...v9.34.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 15.5.0 to 15.5.2\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\u003ev15.5.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: disable unknownatrules lint rule entirely (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83059\"\u003e#83059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003erevert: add ?dpl to fonts in /_next/static/media (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83062\"\u003e#83062\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\u003cbr /\u003e\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: aliased navigations should apply scroll handling (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82900\"\u003e#82900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: fix invalid NFT entry with file behind symlink (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82887\"\u003e#82887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: typesafe linking to route handlers and pages API routes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82858\"\u003e#82858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: change \u0026quot;noUnknownAtRules\u0026quot; to \u0026quot;warn\u0026quot; for Biome (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82974\"\u003e#82974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: add path normalization to getRelativePath for Windows (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82918\"\u003e#82918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efeat: add typesafety with config.typedRoutes to redirect() and permanentRedirect() (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82860\"\u003e#82860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: avoid importing types that will be unused (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82856\"\u003e#82856\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update the config.api.responseLimit type (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82852\"\u003e#82852\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: update validation return types (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/82854\"\u003e#82854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/bgub\"\u003e\u003ccode\u003e@​bgub\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mischnic\"\u003e\u003ccode\u003e@​mischnic\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/ztanner\"\u003e\u003ccode\u003e@​ztanner\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev15.5.1-canary.28\u003c/h2\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[codemod] return origin src in viewport mod if not changed: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83435\"\u003e#83435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(next/image): introduce \u003ccode\u003epreload\u003c/code\u003e prop and deprecated \u003ccode\u003epriority\u003c/code\u003e prop: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83351\"\u003e#83351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[metadata] use generateStaticParams for getImageMetadata: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83374\"\u003e#83374\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Include CSP nonce in next/dynamic preload: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/81999\"\u003e#81999\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[Segment Cache] use \u003ccode\u003eloading\u003c/code\u003e from dynamic response for unprefetched navigations: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83305\"\u003e#83305\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade React from \u003ccode\u003e3302d1f7-20250903\u003c/code\u003e to \u003ccode\u003eb9a04536-20250904\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83446\"\u003e#83446\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003etest: add prerender snapshot for metadata-dynamic-routes test: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83432\"\u003e#83432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: Fix broken getImageProps sample code: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83436\"\u003e#83436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eauto-enable errors.json merge driver: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83420\"\u003e#83420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Improve handling of symlink resolution errors in track_glob and read_glob: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83357\"\u003e#83357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack development test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83407\"\u003e#83407\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate Rspack production test manifest: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83408\"\u003e#83408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Add an execution test for the behavior when a module throws an error: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/83451\"\u003e#83451\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/497ec6aa08a33f9e2d65a5c8461f550c2549d3e6\"\u003e\u003ccode\u003e497ec6a\u003c/code\u003e\u003c/a\u003e v15.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/cc68ced55210aca1716daabefb5aa2006bc3d024\"\u003e\u003ccode\u003ecc68ced\u003c/code\u003e\u003c/a\u003e v15.5.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/next.js/commits/v15.5.2/packages/eslint-config-next\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.1.3\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\u003e30.1.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eunstable_mockModule\u003c/code\u003e with \u003ccode\u003enode:\u003c/code\u003e prefixed core modules.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Correct snapshot header regexp to work with newline across OSes (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15803\"\u003e#15803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15800\"\u003e#15800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-leak-detector]\u003c/code\u003e Configurable GC aggressiveness regarding to V8 heap snapshot generation (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15793/\"\u003e#15793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Reduce redundant ReferenceError messages\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-core]\u003c/code\u003e Include test modules that failed to load when --onlyFailures is active\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e`[jest-snapshot-utils] Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15787\"\u003e#15787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Fix \u003ccode\u003eit.concurrent\u003c/code\u003e not working with \u003ccode\u003edescribe.skip\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15765\"\u003e#15765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot]\u003c/code\u003e Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Importing from \u003ccode\u003e@jest/globals\u003c/code\u003e in more than one file no longer breaks relative paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/15772\"\u003e#15772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChore\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Update docblock for \u003ccode\u003etoContain()\u003c/code\u003e to display info on substring check (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15789\"\u003e#15789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Make 'deepCyclicCopyObject' safer by setting descriptors to a null-prototype object (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15689\"\u003e#15689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-util]\u003c/code\u003e Make garbage collection protection property writable (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15689\"\u003e#15689\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/blob/main/CHANGELOG.md\"\u003ehttps://github.com/jestjs/jest/blob/main/CHANGELOG.md\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eJest 30.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Implement the \u003ccode\u003edefaultAsyncResolver\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15679\"\u003e#15679\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.1.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eunstable_mockModule\u003c/code\u003e with \u003ccode\u003enode:\u003c/code\u003e prefixed core modules.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Correct snapshot header regexp to work with newline across OSes (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15803\"\u003e#15803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15800\"\u003e#15800\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-leak-detector]\u003c/code\u003e Configurable GC aggressiveness regarding to V8 heap snapshot generation (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15793/\"\u003e#15793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Reduce redundant ReferenceError messages\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-core]\u003c/code\u003e Include test modules that failed to load when --onlyFailures is active\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15787\"\u003e#15787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Fix \u003ccode\u003eit.concurrent\u003c/code\u003e not working with \u003ccode\u003edescribe.skip\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15765\"\u003e#15765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot]\u003c/code\u003e Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Importing from \u003ccode\u003e@jest/globals\u003c/code\u003e in more than one file no longer breaks relative paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/15772\"\u003e#15772\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eChore\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Update docblock for \u003ccode\u003etoContain()\u003c/code\u003e to display info on substring check (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15789\"\u003e#15789\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.0.5\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow \u003ccode\u003etestMatch\u003c/code\u003e to take a string value\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-worker]\u003c/code\u003e Let \u003ccode\u003eworkerIdleMemoryLimit\u003c/code\u003e accept 0 to always restart worker child processes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Fix \u003ccode\u003ebigint\u003c/code\u003e error (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15702\"\u003e#15702\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.0.4\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/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\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4d5f41d0885c1d9630c81b4fd47f74ab0615e18f\"\u003e\u003ccode\u003e4d5f41d\u003c/code\u003e\u003c/a\u003e v30.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/22236cf58b66039f81893537c90dee290bab427f\"\u003e\u003ccode\u003e22236cf\u003c/code\u003e\u003c/a\u003e v30.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/f4296d2bc85c1405f84ddf613a25d0bc3766b7e5\"\u003e\u003ccode\u003ef4296d2\u003c/code\u003e\u003c/a\u003e v30.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/d4a6c94daf4f6e63c949f2d0ed907aeaee840d2f\"\u003e\u003ccode\u003ed4a6c94\u003c/code\u003e\u003c/a\u003e v30.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/393acbfac31f64bb38dff23c89224797caded83c\"\u003e\u003ccode\u003e393acbf\u003c/code\u003e\u003c/a\u003e v30.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/5ce865b4060189fe74cd486544816c079194a0f7\"\u003e\u003ccode\u003e5ce865b\u003c/code\u003e\u003c/a\u003e v30.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/469f665c2d3bea4a55a194ceebae88724b7202cd\"\u003e\u003ccode\u003e469f665\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.1.3/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 29.7.0 to 30.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jestjs/jest/releases\"\u003ejest-environment-jsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.1.2\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Correct snapshot header regexp to work with newline across OSes (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15803\"\u003e#15803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e30.1.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[jest-snapshot-utils]\u003c/code\u003e Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15800\"\u003e#1580...\n\n_Description has been truncated_","html_url":"https://github.com/WORKFL0/cursor/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/WORKFL0%2Fcursor/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-07-31T16:39:33.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2710706491","node_id":"PR_kwDOPVD3Hc6hkhk7","number":11,"state":"closed","title":"chore(deps): bump pure-rand from 6.1.0 to 7.0.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":true,"comments_count":3,"pull_request":true,"closed_at":"2025-07-31T17:13:01.000Z","author_association":"NONE","state_reason":null,"created_at":"2025-07-31T16:39:33.000Z","updated_at":"2025-07-31T17:13:01.000Z","time_to_close":2008,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"}],"path":null,"ecosystem":"npm"},"body":"Bumps [pure-rand](https://github.com/dubzzz/pure-rand) from 6.1.0 to 7.0.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dubzzz/pure-rand/blob/main/CHANGELOG.md\"\u003epure-rand's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c24bc93\"\u003ec24bc93\u003c/a\u003e 🐛 Properly define exports in package.json (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/2c94832\"\u003e2c94832\u003c/a\u003e 🏷️ Move to \u0026quot;import type\u0026quot; when feasible (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/736\"\u003e#736\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/3741a63\"\u003e3741a63\u003c/a\u003e 🏷️ Mark \u003ccode\u003egetState\u003c/code\u003e as compulsory on \u003ccode\u003eRandomGenerator\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/733\"\u003e#733\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/228c73d\"\u003e228c73d\u003c/a\u003e ⚡️ Faster uniform distributions on bigint (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/757\"\u003e#757\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/86869a1\"\u003e86869a1\u003c/a\u003e ✨ Expose generators and distributions (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/680a672\"\u003e680a672\u003c/a\u003e 🚚 Do not export mersenne as default (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/e1758c0\"\u003ee1758c0\u003c/a\u003e 🚚 Split ArrayInt into two files (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/0c356cf\"\u003e0c356cf\u003c/a\u003e 🚚 Moving files around (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/734\"\u003e#734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/6d9b7b4\"\u003e6d9b7b4\u003c/a\u003e 📝 Document generation of float/double (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/715\"\u003e#715\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/dubzzz/pure-rand/commit/2248506b66d969d1a8b477a4dde8e24cbac33e6a\"\u003e\u003ccode\u003e2248506\u003c/code\u003e\u003c/a\u003e 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/ff391d5b098201d82883e54db1ff1f374a898fe7\"\u003e\u003ccode\u003eff391d5\u003c/code\u003e\u003c/a\u003e Prepare CHANGELOG for 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c24bc936c3258d67a57ef48e1818882be2844ec0\"\u003e\u003ccode\u003ec24bc93\u003c/code\u003e\u003c/a\u003e 🐛 Properly define exports in package.json (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c5cbdf2d3f2e8e259e077eaa615a7a924ce3f067\"\u003e\u003ccode\u003ec5cbdf2\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency replace-in-file to v8 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/714\"\u003e#714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/a53da55c2873134952c65d7399bf01c86ef7b39c\"\u003e\u003ccode\u003ea53da55\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency tinybench to v3 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/744\"\u003e#744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/fe8e536791096917dccc95bd07e5e694eafe1549\"\u003e\u003ccode\u003efe8e536\u003c/code\u003e\u003c/a\u003e ⬆️ Update codecov/codecov-action action to v5 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/748\"\u003e#748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/c6bd65beba5886682b437011c8cd64a29c88f9ce\"\u003e\u003ccode\u003ec6bd65b\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency prettier to v3.4.2 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/752\"\u003e#752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/b3f987765a7a3e09bda96ec98b46dd2aee3b9ad5\"\u003e\u003ccode\u003eb3f9877\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency \u003ccode\u003e@​types/node\u003c/code\u003e to ^22.13.1 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/753\"\u003e#753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/0f2d7ffa7edc18a5e2bd49e71a5ea205e74ad438\"\u003e\u003ccode\u003e0f2d7ff\u003c/code\u003e\u003c/a\u003e ⬆️ Update dependency fast-check to ^3.23.2 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/754\"\u003e#754\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dubzzz/pure-rand/commit/7f7f0f4b6465fc2699d18bbaaeb49b98570a029e\"\u003e\u003ccode\u003e7f7f0f4\u003c/code\u003e\u003c/a\u003e ⬆️ Update actions/setup-node action to v4.2.0 (\u003ca href=\"https://redirect.github.com/dubzzz/pure-rand/issues/756\"\u003e#756\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dubzzz/pure-rand/compare/v6.1.0...v7.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pure-rand\u0026package-manager=npm_and_yarn\u0026previous-version=6.1.0\u0026new-version=7.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\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/part-avocado/prettyregex/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/part-avocado%2Fprettyregex/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-07-26T09:07:19.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2696825199","node_id":"PR_kwDOPS-sR86gvklv","number":4,"state":"open","title":"chore(deps): Bump the major-updates group with 74 updates","user":"dependabot[bot]","labels":[],"assignees":["atani"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-07-26T09:07:19.000Z","updated_at":"2025-07-26T09:07:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"major-updates","update_count":74,"packages":[{"name":"@modelcontextprotocol/sdk","old_version":"0.5.0","new_version":"1.17.0","repository_url":"https://github.com/modelcontextprotocol/typescript-sdk"},{"name":"@types/node","old_version":"20.19.9","new_version":"24.1.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"audit-ci","old_version":"6.6.1","new_version":"7.1.0","repository_url":"https://github.com/IBM/audit-ci"},{"name":"eslint","old_version":"8.57.1","new_version":"9.32.0","repository_url":"https://github.com/eslint/eslint"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@types/jest","old_version":"29.5.14","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@eslint/eslintrc","old_version":"2.1.4","new_version":"3.3.1","repository_url":"https://github.com/eslint/eslintrc"},{"name":"@eslint/js","old_version":"8.57.1","new_version":"9.32.0","repository_url":"https://github.com/eslint/eslint"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@typescript-eslint/scope-manager","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/type-utils","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/types","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/utils","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/visitor-keys","old_version":"6.21.0","new_version":"8.38.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"type-fest","old_version":"0.20.2","new_version":"0.21.3","repository_url":"https://github.com/sindresorhus/type-fest"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.3.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"eslint-scope","old_version":"7.2.2","new_version":"8.4.0","repository_url":"https://github.com/eslint/js"},{"name":"espree","old_version":"9.6.1","new_version":"10.4.0","repository_url":"https://github.com/eslint/js"},{"name":"expect","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"file-entry-cache","old_version":"6.0.1","new_version":"8.0.0","repository_url":"https://github.com/jaredwray/cacheable"},{"name":"flat-cache","old_version":"3.2.0","new_version":"4.0.1","repository_url":"https://github.com/jaredwray/cacheable"},{"name":"globals","old_version":"13.24.0","new_version":"14.0.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.1","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"pretty-format","old_version":"29.7.0","new_version":"30.0.5","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"ts-api-utils","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/JoshuaKGoldberg/ts-api-utils"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 74 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) | `0.5.0` | `1.17.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.9` | `24.1.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.21.0` | `8.38.0` |\n| [audit-ci](https://github.com/IBM/audit-ci) | `6.6.1` | `7.1.0` |\n| [eslint](https://github.com/eslint/eslint) | `8.57.1` | `9.32.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.5` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` |\n| [@eslint/eslintrc](https://github.com/eslint/eslintrc) | `2.1.4` | `3.3.1` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `8.57.1` | `9.32.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.5` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.5` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.5` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.5` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.0.5` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.5` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.5` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.5` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.5` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.1` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.5` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.5` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.5` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.5` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `6.21.0` | `8.38.0` |\n| [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `6.21.0` | `8.38.0` |\n| [type-fest](https://github.com/sindresorhus/type-fest) | `0.20.2` | `0.21.3` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.5` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.1` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.1` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.3.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [eslint-scope](https://github.com/eslint/js/tree/HEAD/packages/eslint-scope) | `7.2.2` | `8.4.0` |\n| [espree](https://github.com/eslint/js/tree/HEAD/packages/espree) | `9.6.1` | `10.4.0` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.0.5` |\n| [file-entry-cache](https://github.com/jaredwray/cacheable/tree/HEAD/packages/file-entry-cache) | `6.0.1` | `8.0.0` |\n| [flat-cache](https://github.com/jaredwray/cacheable/tree/HEAD/packages/flat-cache) | `3.2.0` | `4.0.1` |\n| [globals](https://github.com/sindresorhus/globals) | `13.24.0` | `14.0.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.5` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.5` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.5` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.5` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.0.5` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.1` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.5` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.5` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.5` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.5` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.0.5` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.0.5` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.5` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.1` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.5` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.5` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.5` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.5` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.5` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.5` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.5` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.5` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.5` |\n| [pretty-format](https://github.com/jestjs/jest/tree/HEAD/packages/pretty-format) | `29.7.0` | `30.0.5` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [ts-api-utils](https://github.com/JoshuaKGoldberg/ts-api-utils) | `1.4.3` | `2.1.0` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n\nUpdates `@modelcontextprotocol/sdk` from 0.5.0 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/releases\"\u003e\u003ccode\u003e@​modelcontextprotocol/sdk\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd CODEOWNERS file for sdk by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/781\"\u003emodelcontextprotocol/typescript-sdk#781\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd more robust base64 check by \u003ca href=\"https://github.com/cliffhall\"\u003e\u003ccode\u003e@​cliffhall\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/786\"\u003emodelcontextprotocol/typescript-sdk#786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eupdate codeowners by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/803\"\u003emodelcontextprotocol/typescript-sdk#803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix indent by \u003ca href=\"https://github.com/jiec-msft\"\u003e\u003ccode\u003e@​jiec-msft\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/807\"\u003emodelcontextprotocol/typescript-sdk#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Explicitly declare accpet type to json when exchanging oauth token by \u003ca href=\"https://github.com/JoJoJoJoJoJoJo\"\u003e\u003ccode\u003e@​JoJoJoJoJoJoJo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/801\"\u003emodelcontextprotocol/typescript-sdk#801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support oidc discovery in client sdk by \u003ca href=\"https://github.com/xiaoyijun\"\u003e\u003ccode\u003e@​xiaoyijun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/652\"\u003emodelcontextprotocol/typescript-sdk#652\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove extraneous code block in README.md by \u003ca href=\"https://github.com/sd0ric4\"\u003e\u003ccode\u003e@​sd0ric4\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/791\"\u003emodelcontextprotocol/typescript-sdk#791\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump form-data from 4.0.2 to 4.0.4 in the npm_and_yarn group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/798\"\u003emodelcontextprotocol/typescript-sdk#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump version 1.17.0 by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/810\"\u003emodelcontextprotocol/typescript-sdk#810\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/jiec-msft\"\u003e\u003ccode\u003e@​jiec-msft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/807\"\u003emodelcontextprotocol/typescript-sdk#807\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sd0ric4\"\u003e\u003ccode\u003e@​sd0ric4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/791\"\u003emodelcontextprotocol/typescript-sdk#791\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/1.16.0...1.17.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/1.16.0...1.17.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.16.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd type compatibility test between SDK and spec types by \u003ca href=\"https://github.com/ochafik\"\u003e\u003ccode\u003e@​ochafik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/729\"\u003emodelcontextprotocol/typescript-sdk#729\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd OIDC ID token support by \u003ca href=\"https://github.com/dankelleher\"\u003e\u003ccode\u003e@​dankelleher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/680\"\u003emodelcontextprotocol/typescript-sdk#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd prompt=consent for OIDC offline_access scope by \u003ca href=\"https://github.com/dankelleher\"\u003e\u003ccode\u003e@​dankelleher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/681\"\u003emodelcontextprotocol/typescript-sdk#681\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNon-critical: Readme syntax and typographical error fixes by \u003ca href=\"https://github.com/freakynit\"\u003e\u003ccode\u003e@​freakynit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/765\"\u003emodelcontextprotocol/typescript-sdk#765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake client side client_id generation configurable in the oauth router by \u003ca href=\"https://github.com/cdaguerre\"\u003e\u003ccode\u003e@​cdaguerre\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/734\"\u003emodelcontextprotocol/typescript-sdk#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdding \u003ccode\u003einvalidateCredentials()\u003c/code\u003e to \u003ccode\u003eOAuthClientProvider\u003c/code\u003e by \u003ca href=\"https://github.com/geelen\"\u003e\u003ccode\u003e@​geelen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/570\"\u003emodelcontextprotocol/typescript-sdk#570\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use authorization_server_url as issuer when fetching metadata by \u003ca href=\"https://github.com/JoJoJoJoJoJoJo\"\u003e\u003ccode\u003e@​JoJoJoJoJoJoJo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/763\"\u003emodelcontextprotocol/typescript-sdk#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(protocol): Debounce notifications to improve network efficiancy by \u003ca href=\"https://github.com/jneums\"\u003e\u003ccode\u003e@​jneums\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/746\"\u003emodelcontextprotocol/typescript-sdk#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(731): StreamableHTTPClientTransport Fails to Reconnect on Non-Resumable Streams by \u003ca href=\"https://github.com/jneums\"\u003e\u003ccode\u003e@​jneums\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/732\"\u003emodelcontextprotocol/typescript-sdk#732\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: consistently use consumer-provided fetch function by \u003ca href=\"https://github.com/LucaButBoring\"\u003e\u003ccode\u003e@​LucaButBoring\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/767\"\u003emodelcontextprotocol/typescript-sdk#767\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix client id issuance date should only be sent when generated by \u003ca href=\"https://github.com/cdaguerre\"\u003e\u003ccode\u003e@​cdaguerre\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/775\"\u003emodelcontextprotocol/typescript-sdk#775\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e1.16.0 by \u003ca href=\"https://github.com/ihrpr\"\u003e\u003ccode\u003e@​ihrpr\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/779\"\u003emodelcontextprotocol/typescript-sdk#779\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/dankelleher\"\u003e\u003ccode\u003e@​dankelleher\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/680\"\u003emodelcontextprotocol/typescript-sdk#680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/freakynit\"\u003e\u003ccode\u003e@​freakynit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/765\"\u003emodelcontextprotocol/typescript-sdk#765\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cdaguerre\"\u003e\u003ccode\u003e@​cdaguerre\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/734\"\u003emodelcontextprotocol/typescript-sdk#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JoJoJoJoJoJoJo\"\u003e\u003ccode\u003e@​JoJoJoJoJoJoJo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/763\"\u003emodelcontextprotocol/typescript-sdk#763\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jneums\"\u003e\u003ccode\u003e@​jneums\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/746\"\u003emodelcontextprotocol/typescript-sdk#746\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/LucaButBoring\"\u003e\u003ccode\u003e@​LucaButBoring\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/767\"\u003emodelcontextprotocol/typescript-sdk#767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/1.15.1...1.16.0\"\u003ehttps://github.com/modelcontextprotocol/typescript-sdk/compare/1.15.1...1.16.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.15.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(client): Some mcp server need default env(\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/393\"\u003e#393\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/196\"\u003e#196\u003c/a\u003e) by \u003ca href=\"https://github.com/sunrabbit123\"\u003e\u003ccode\u003e@​sunrabbit123\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/394\"\u003emodelcontextprotocol/typescript-sdk#394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add CORS configuration for browser-based MCP clients by \u003ca href=\"https://github.com/jerome3o-anthropic\"\u003e\u003ccode\u003e@​jerome3o-anthropic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/713\"\u003emodelcontextprotocol/typescript-sdk#713\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd onsessionclosed hook to StreamableHTTPServerTransport by \u003ca href=\"https://github.com/jerome3o-anthropic\"\u003e\u003ccode\u003e@​jerome3o-anthropic\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/743\"\u003emodelcontextprotocol/typescript-sdk#743\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd custom headers on initial _startOrAuth call by \u003ca href=\"https://github.com/anthonjn\"\u003e\u003ccode\u003e@​anthonjn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/318\"\u003emodelcontextprotocol/typescript-sdk#318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove stdio test Windows compatibility and refactor command logic by \u003ca href=\"https://github.com/HoberMin\"\u003e\u003ccode\u003e@​HoberMin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/284\"\u003emodelcontextprotocol/typescript-sdk#284\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/222db4a9c1ab4f023dc1dd1687212bddd522f48e\"\u003e\u003ccode\u003e222db4a\u003c/code\u003e\u003c/a\u003e Bump version 1.17.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/810\"\u003e#810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/b8ec6653eb1e0a177106debc1349ae1d986c1494\"\u003e\u003ccode\u003eb8ec665\u003c/code\u003e\u003c/a\u003e Bump form-data from 4.0.2 to 4.0.4 in the npm_and_yarn group across 1 directo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/1fc452ea0ef355429af06654cc3ea36a903935b8\"\u003e\u003ccode\u003e1fc452e\u003c/code\u003e\u003c/a\u003e fix: remove extraneous code block in README.md (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/791\"\u003e#791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/bb7cccc3ba1b23ab911962a3b314d13c1db88d90\"\u003e\u003ccode\u003ebb7cccc\u003c/code\u003e\u003c/a\u003e feat: support oidc discovery in client sdk (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/652\"\u003e#652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/62c608d8cef50de5b78a99b8db554f6dbc4b0b77\"\u003e\u003ccode\u003e62c608d\u003c/code\u003e\u003c/a\u003e fix: Explicitly declare accpet type to json when exchanging oauth token (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/801\"\u003e#801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/83168250f56bd4c5582bc7d075746f8f90ac2de4\"\u003e\u003ccode\u003e8316825\u003c/code\u003e\u003c/a\u003e Fix indent (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/807\"\u003e#807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/8e15edca0af05e7eaeb38e0880669a16f749e0f5\"\u003e\u003ccode\u003e8e15edc\u003c/code\u003e\u003c/a\u003e update codeowners (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/803\"\u003e#803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/c7887c082cb55ddc55d77523df88654ec4120dbf\"\u003e\u003ccode\u003ec7887c0\u003c/code\u003e\u003c/a\u003e Add more robust base64 check (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/786\"\u003e#786\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/0d545176f9ba852c97a18a40037abff40cd086c2\"\u003e\u003ccode\u003e0d54517\u003c/code\u003e\u003c/a\u003e Add CODEOWNERS file for dsk (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/781\"\u003e#781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/commit/400b020c854d31112c8f29a2e280072731ed3d5f\"\u003e\u003ccode\u003e400b020\u003c/code\u003e\u003c/a\u003e 1.16.0 (\u003ca href=\"https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/779\"\u003e#779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/modelcontextprotocol/typescript-sdk/compare/0.5.0...1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 20.19.9 to 24.1.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 6.21.0 to 8.38.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.38.0\u003c/h2\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e forbid optional chain in \u003ccode\u003eTemplateTaggedLiteral\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11391\"\u003e#11391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [consistent-generic-constructors] resolve conflict with \u003ccode\u003eisolatedDeclarations\u003c/code\u003e if enabled in \u003ccode\u003econstructor\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e infer tsconfigRootDir with v8 API (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11412\"\u003e#11412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e error on nested \u003ccode\u003eextends\u003c/code\u003e in \u003ccode\u003etseslint.config()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11361\"\u003e#11361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e ensure the token type of the property name is Identifier (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11329\"\u003e#11329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndrew Kazakov \u003ca href=\"https://github.com/andreww2012\"\u003e\u003ccode\u003e@​andreww2012\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\u003eMK \u003ca href=\"https://github.com/asdf93074\"\u003e\u003ccode\u003e@​asdf93074\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etao\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.37.0\u003c/h2\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e infer tsconfigRootDir from call stack (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11370\"\u003e#11370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381\"\u003e#11381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e add missing 'types' dependency to 'type-utils' (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11383\"\u003e#11383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e handle namespaced exports in specifier matching (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11380\"\u003e#11380\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBill Collins\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eRené \u003ca href=\"https://github.com/Renegade334\"\u003e\u003ccode\u003e@​Renegade334\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.36.0\u003c/h2\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [consistent-generic-constructors] resolve conflict with \u003ccode\u003eisolatedDeclarations\u003c/code\u003e if enabled in \u003ccode\u003econstructor\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndrew Kazakov \u003ca href=\"https://github.com/andreww2012\"\u003e\u003ccode\u003e@​andreww2012\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381\"\u003e#11381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eYukihiro Hasegawa \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.1 (2025-06-30)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove prettier from eslint-plugin (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11339\"\u003e#11339\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbhijeet Singh \u003ca href=\"https://github.com/cseas\"\u003e\u003ccode\u003e@​cseas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.0 (2025-06-23)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-base-to-string] add checkUnknown Option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11128\"\u003e#11128\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/d11e79e9c9edc9f6f5e66306e3b3d65f3149a760\"\u003e\u003ccode\u003ed11e79e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5ec8c589bf9742bcce72367f2fb195964cfa166a\"\u003e\u003ccode\u003e5ec8c58\u003c/code\u003e\u003c/a\u003e fix: disallow extra properties in rule options (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0e884c7cbd08b1cd071a67a4faef61a7a8d3ba68\"\u003e\u003ccode\u003e0e884c7\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [consistent-generic-constructors] resolve conflict with `...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/816be172ce475f5f15373d70fb20c5e87b53c915\"\u003e\u003ccode\u003e816be17\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.37.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e1b310c24504dcd1ce817f0a0b9f30d7e0520d8f\"\u003e\u003ccode\u003ee1b310c\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unified-signatures] fix false positives for ignoreOverlo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/16c344ec7d274ea542157e0f19682dd1930ab838\"\u003e\u003ccode\u003e16c344e\u003c/code\u003e\u003c/a\u003e docs(website): remove stale list of checked expressions (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11384\"\u003e#11384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/84b7a2e905c2a82fda3015f01683525d019c9c3c\"\u003e\u003ccode\u003e84b7a2e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d1388fc0c9cd40dc3a32787e7ab04cb78bc904c9\"\u003e\u003ccode\u003ed1388fc\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-deprecated] should allow ignoring of deprecated value...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4a60d3e96cba7a4b8c2721c2d5fd15a68076bf4e\"\u003e\u003ccode\u003e4a60d3e\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [only-throw-error] document options (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11348\"\u003e#11348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1ca81c14ba904e52be6726eb20c79bbcab57243c\"\u003e\u003ccode\u003e1ca81c1\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): switch auto-generated test cases to hand-written in no-...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.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 6.21.0 to 8.38.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.38.0\u003c/h2\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e forbid optional chain in \u003ccode\u003eTemplateTaggedLiteral\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11391\"\u003e#11391\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edisallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11397\"\u003e#11397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [consistent-generic-constructors] resolve conflict with \u003ccode\u003eisolatedDeclarations\u003c/code\u003e if enabled in \u003ccode\u003econstructor\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11351\"\u003e#11351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e infer tsconfigRootDir with v8 API (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11412\"\u003e#11412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e error on nested \u003ccode\u003eextends\u003c/code\u003e in \u003ccode\u003etseslint.config()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11361\"\u003e#11361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e ensure the token type of the property name is Identifier (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11329\"\u003e#11329\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndrew Kazakov \u003ca href=\"https://github.com/andreww2012\"\u003e\u003ccode\u003e@​andreww2012\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\u003eMK \u003ca href=\"https://github.com/asdf93074\"\u003e\u003ccode\u003e@​asdf93074\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etao\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.37.0\u003c/h2\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e infer tsconfigRootDir from call stack (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11370\"\u003e#11370\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unified-signatures] fix false positives for ignoreOverloadsWithDifferentJSDoc option (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11381\"\u003e#11381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e add missing 'types' dependency to 'type-utils' (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11383\"\u003e#11383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e handle namespaced exports in specifier matching (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11380\"\u003e#11380\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBill Collins\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eRené \u003ca href=\"https://github.com/Renegade334\"\u003e\u003ccode\u003e@​Renegade334\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYukihiro Hasegawa \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.36.0\u003c/h2\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.38.0 (2025-07-21)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.37.0 (2025-07-14)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.36.0 (2025-07-07)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.1 (2025-06-30)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.35.0 (2025-06-23)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.34.1 (2025-06-16)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.33.1 (2025-06-02)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.33.0 (2025-05-26)\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/d11e79e9c9edc9f6f5e66306e3b3d65f3149a760\"\u003e\u003ccode\u003ed11e79e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/816be172ce475f5f15373d70fb20c5e87b53c915\"\u003e\u003ccode\u003e816be17\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.37.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/84b7a2e905c2a82fda3015f01683525d019c9c3c\"\u003e\u003ccode\u003e84b7a2e\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.36.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e2ecca60d9e8486bb13e98b3e1a65d529bedef03\"\u003e\u003ccode\u003ee2ecca6\u003c/code\u003e\u003c/a\u003e chore: fix issues introduced by updated \u003ccode\u003enx\u003c/code\u003e configuration (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/11230\"\u003e#11230\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f9bd7d86fc39eb2957de7eefdcd3ab9b6c9dc4a7\"\u003e\u003ccode\u003ef9bd7d8\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.35.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d19c9f383a2e345656b601aa42ec250293609019\"\u003e\u003ccode\u003ed19c9f3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.35.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ccd07914d933c3f7a284c9a7df5b1d6d40495fc5\"\u003e\u003ccode\u003eccd0791\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/936f35022c1e1357da82c4b958b7bff2563e2075\"\u003e\u003ccode\u003e936f350\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.33.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/dca57b3e6643fdd533f2939c5322ffb9c6044e63\"\u003e\u003ccode\u003edca57b3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.33.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.38.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `audit-ci` from 6.6.1 to 7.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/IBM/audit-ci/releases\"\u003eaudit-ci's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump audit-types to support Yarn v4 by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/338\"\u003eIBM/audit-ci#338\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: braces audit by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/342\"\u003eIBM/audit-ci#342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTry yargs import by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/341\"\u003eIBM/audit-ci#341\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IBM/audit-ci/compare/v7.0.1...v7.1.0\"\u003ehttps://github.com/IBM/audit-ci/compare/v7.0.1...v7.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: add hideBin(process.argv)  \u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/334\"\u003e#334\u003c/a\u003e by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/335\"\u003eIBM/audit-ci#335\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IBM/audit-ci/compare/v7.0.0...v7.0.1\"\u003ehttps://github.com/IBM/audit-ci/compare/v7.0.0...v7.0.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003cp\u003eDo not use this release, use \u003ccode\u003ev7.0.1\u003c/code\u003e or greater!\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[BREAKING] feat: Improved scripting support and TypeScript tests by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/297\"\u003eIBM/audit-ci#297\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Add tslib dependency for smaller size by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/313\"\u003eIBM/audit-ci#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[BREAKING] Remove printing audit-ci version by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/310\"\u003eIBM/audit-ci#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sort all outputs for cleanliness and consistency by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/314\"\u003eIBM/audit-ci#314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport ESM by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/311\"\u003eIBM/audit-ci#311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix audits by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/321\"\u003eIBM/audit-ci#321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: dist/bin.js path by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/322\"\u003eIBM/audit-ci#322\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBREAKING: Require Node 18, support ESM and CJS by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/319\"\u003eIBM/audit-ci#319\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: auditer -\u0026gt; auditor by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/323\"\u003eIBM/audit-ci#323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd files for Yarn 3 by \u003ca href=\"https://github.com/quinnturner\"\u003e\u003ccode\u003e@​quinnturner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IBM/audit-ci/pull/305\"\u003eIBM/audit-ci#305\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IBM/audit-ci/compare/v6.6.1...v7.0.0\"\u003ehttps://github.com/IBM/audit-ci/compare/v6.6.1...v7.0.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/IBM/audit-ci/commit/aa1f7926e3f4f6b3c58fedae83f9953149050aad\"\u003e\u003ccode\u003eaa1f792\u003c/code\u003e\u003c/a\u003e Try yargs import (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/341\"\u003e#341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/6b1df3f3a0d70a4686657b5a82a8c6abaa80c334\"\u003e\u003ccode\u003e6b1df3f\u003c/code\u003e\u003c/a\u003e fix: braces audit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/bb052dc6b19b8a8bb7077c74e4e3002eb00bd99c\"\u003e\u003ccode\u003ebb052dc\u003c/code\u003e\u003c/a\u003e Bump audit-types to support Yarn v4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/65f9e12c485da84c12e79377ed0771fdf9f287c7\"\u003e\u003ccode\u003e65f9e12\u003c/code\u003e\u003c/a\u003e Bump to 7.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/38caac7bd285e6c7851672930d71f52d3fe8a35d\"\u003e\u003ccode\u003e38caac7\u003c/code\u003e\u003c/a\u003e fix: add hideBin(process.argv) fixes \u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/334\"\u003e#334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/3365cd78c5a4a1420af959349bc5f5526bd4cedd\"\u003e\u003ccode\u003e3365cd7\u003c/code\u003e\u003c/a\u003e Update README.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/3aad5c64dce27bc37739939862faad4e4698c886\"\u003e\u003ccode\u003e3aad5c6\u003c/code\u003e\u003c/a\u003e Add files for Yarn 3 (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/bc67ffedeb7e0804ed17e991cd1b5381087e68c5\"\u003e\u003ccode\u003ebc67ffe\u003c/code\u003e\u003c/a\u003e fix: auditer -\u0026gt; auditor (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/323\"\u003e#323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/c863feed8b5140ed9bad06d7d4273c6e1dce2e58\"\u003e\u003ccode\u003ec863fee\u003c/code\u003e\u003c/a\u003e BREAKING: Require Node 18, support ESM and CJS (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IBM/audit-ci/commit/168a5977d15546a6afaf583e65b824f5be0f0d74\"\u003e\u003ccode\u003e168a597\u003c/code\u003e\u003c/a\u003e fix: dist/bin.js path (\u003ca href=\"https://redirect.github.com/IBM/audit-ci/issues/322\"\u003e#322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/IBM/audit-ci/compare/v6.6.1...v7.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 8.57.1 to 9.32.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.32.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1245000c5a81954d42f0c7eb670efe450c3bbad5\"\u003e\u003ccode\u003e1245000\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in core rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19828\"\u003e#19828\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0e957a7b5528f375a51e7c1a2fd1b03cdcd2af2d\"\u003e\u003ccode\u003e0e957a7\u003c/code\u003e\u003c/a\u003e feat: support typescript types in accessor rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19882\"\u003e#19882\u003c/a\u003e) (fnx)\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/960fd40dfd204af30726b49b6bec714fe49a606e\"\u003e\u003ccode\u003e960fd40\u003c/code\u003e\u003c/a\u003e fix: Upgrade \u003ccode\u003e@​eslint/js\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19971\"\u003e#19971\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbf23fa2f1c6058f6cb5c9f2f32460a15e75e596\"\u003e\u003ccode\u003ebbf23fa\u003c/code\u003e\u003c/a\u003e fix: Refactor reporting into FileReport (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19877\"\u003e#19877\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4988872f375890bf677ce1a1d92a505085b51fa\"\u003e\u003ccode\u003ed498887\u003c/code\u003e\u003c/a\u003e fix: bump \u003ccode\u003e@​eslint/plugin-kit\u003c/code\u003e to 0.3.4 to resolve vulnerability (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19965\"\u003e#19965\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f46fc6c137c951bc73cf3bd9446053c1b11f769b\"\u003e\u003ccode\u003ef46fc6c\u003c/code\u003e\u003c/a\u003e fix: report only global references in no-implied-eval (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19932\"\u003e#19932\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7863d26b7cfb03a81ec86f93439757ff60bf6afb\"\u003e\u003ccode\u003e7863d26\u003c/code\u003e\u003c/a\u003e fix: remove outdated types in \u003ccode\u003eParserOptions.ecmaFeatures\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19944\"\u003e#19944\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/317330552e2d276221c7f2dd9c1516ad8b41cc3c\"\u003e\u003ccode\u003e3173305\u003c/code\u003e\u003c/a\u003e fix: update execScript message in no-implied-eval rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19937\"\u003e#19937\u003c/a\u003e) (TKDev7)\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/86e7426e4463ca49ffa5c82e825ecb6aa19ca8a0\"\u003e\u003ccode\u003e86e7426\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27\"\u003e\u003ccode\u003e50de1ce\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/74f01a3f5905aaa0902837ced2425209c09c048f\"\u003e\u003ccode\u003e74f01a3\u003c/code\u003e\u003c/a\u003e ci: unpin \u003ccode\u003ejiti\u003c/code\u003e to version \u003ccode\u003e^2.5.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19970\"\u003e#19970\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ab13813a7e7f3014c35490b351447ec43229951\"\u003e\u003ccode\u003e2ab1381\u003c/code\u003e\u003c/a\u003e ci: pin \u003ccode\u003ejiti\u003c/code\u003e to version 2.4.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19964\"\u003e#19964\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b7f75454695079f54b77fcdc9ebe3b9199d5ad30\"\u003e\u003ccode\u003eb7f7545\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003eSourceCode\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19953\"\u003e#19953\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f5a35e3b7cee17cd31fc02c24c3e74b42ee202bc\"\u003e\u003ccode\u003ef5a35e3\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in eslint-fuzzer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19960\"\u003e#19960\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e22af8c42d622d8d912ee7bedf49bf4283247fdc\"\u003e\u003ccode\u003ee22af8c\u003c/code\u003e\u003c/a\u003e refactor: use \u003ccode\u003eCustomRuleDefinitionType\u003c/code\u003e in \u003ccode\u003eJSRuleDefinition\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19949\"\u003e#19949\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643\"\u003e\u003ccode\u003ee855717\u003c/code\u003e\u003c/a\u003e chore: switch performance tests to hyperfine (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19919\"\u003e#19919\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5\"\u003e\u003ccode\u003e2f73a23\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003east-utils\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19948\"\u003e#19948\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7\"\u003e\u003ccode\u003ec565a53\u003c/code\u003e\u003c/a\u003e chore: exclude \u003ccode\u003efurther_reading_links.json\u003c/code\u003e from Prettier formatting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19943\"\u003e#19943\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev9.31.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/35cf44c22e36b1554486e7a75c870e86c10b83f8\"\u003e\u003ccode\u003e35cf44c\u003c/code\u003e\u003c/a\u003e feat: output full actual location in rule tester if different (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19904\"\u003e#19904\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a6a63259de6cb5642f69c7be429554bbcedca4c0\"\u003e\u003ccode\u003ea6a6325\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-loop-func\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19895\"\u003e#19895\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4682cdc6960279ee17f23899fbab6f58d881eadf\"\u003e\u003ccode\u003e4682cdc\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-undef-init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19894\"\u003e#19894\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/58482165eaf597cc5c58216a956c301ae87520b3\"\u003e\u003ccode\u003e5848216\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003einit-declarations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19893\"\u003e#19893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bb370b8e79f65ee32d9d89ecf249fb74a141ad22\"\u003e\u003ccode\u003ebb370b8\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-const-assign\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19892\"\u003e#19892\u003c/a\u003e) (Milos Djermanovic)\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/07fac6cafa0426b4d1ea12d9001f3955f19b286d\"\u003e\u003ccode\u003e07fac6c\u003c/code\u003e\u003c/a\u003e fix: retry on EMFILE when writing autofix results (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19926\"\u003e#19926\u003c/a\u003e) (TKDev7)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/28cc7abbb72b29b1cac6fc4253646a7839586064\"\u003e\u003ccode\u003e28cc7ab\u003c/code\u003e\u003c/a\u003e fix: Remove incorrect RuleContext types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19910\"\u003e#19910\u003c/a\u003e) (Nicholas C. Zakas)\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/664cb44ab03785bd200a792607a7e20faa2d4b28\"\u003e\u003ccode\u003e664cb44\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/40dbe2a43f83d366e9026faec70293512fb61ca2\"\u003e\u003ccode\u003e40dbe2a\u003c/code\u003e\u003c/a\u003e docs: fix mismatch between \u003ccode\u003eglobalIgnores()\u003c/code\u003e code and text (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19914\"\u003e#19914\u003c/a\u003e) (MaoShizhong)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5a0069d60815246cf24e1c96125540792c2507ef\"\u003e\u003ccode\u003e5a0069d\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/fef04b5c7fea99362d67b31b8e98cd4914020ed3\"\u003e\u003ccode\u003efef04b5\u003c/code\u003e\u003c/a\u003e docs: Update working on issues info (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19902\"\u003e#19902\u003c/a\u003e) (Nicholas C. Zakas)\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/3ddd454c1c73294e5af7905d60d03fac162f1b3e\"\u003e\u003ccode\u003e3ddd454\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.31.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19935\"\u003e#19935\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d5054e5454a537e9ade238c768c262c6c592cbc1\"\u003e\u003ccode\u003ed5054e5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4a3781fe7c11fad7b206c3c694655486ddd187\"\u003e\u003ccode\u003e0f4a378\u003c/code\u003e\u003c/a\u003e chore: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19933\"\u003e#19933\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/76c2340c368f96db77439b5cd1df0196cc39bf3e\"\u003e\u003ccode\u003e76c2340\u003c/code\u003e\u003c/a\u003e chore: bump mocha to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19917\"\u003e#19917\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/eslint/blob/main/CHANGELOG.md\"\u003eeslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ev9.32.0 - July 25, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/960fd40dfd204af30726b49b6bec714fe49a606e\"\u003e\u003ccode\u003e960fd40\u003c/code\u003e\u003c/a\u003e fix: Upgrade \u003ccode\u003e@​eslint/js\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19971\"\u003e#19971\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/50de1ced9df2b1ee48ee6843c8cfe0f5d8edbc27\"\u003e\u003ccode\u003e50de1ce\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbf23fa2f1c6058f6cb5c9f2f32460a15e75e596\"\u003e\u003ccode\u003ebbf23fa\u003c/code\u003e\u003c/a\u003e fix: Refactor reporting into FileReport (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19877\"\u003e#19877\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/74f01a3f5905aaa0902837ced2425209c09c048f\"\u003e\u003ccode\u003e74f01a3\u003c/code\u003e\u003c/a\u003e ci: unpin \u003ccode\u003ejiti\u003c/code\u003e to version \u003ccode\u003e^2.5.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19970\"\u003e#19970\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d4988872f375890bf677ce1a1d92a505085b51fa\"\u003e\u003ccode\u003ed498887\u003c/code\u003e\u003c/a\u003e fix: bump \u003ccode\u003e@​eslint/plugin-kit\u003c/code\u003e to 0.3.4 to resolve vulnerability (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19965\"\u003e#19965\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ab13813a7e7f3014c35490b351447ec43229951\"\u003e\u003ccode\u003e2ab1381\u003c/code\u003e\u003c/a\u003e ci: pin \u003ccode\u003ejiti\u003c/code\u003e to version 2.4.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19964\"\u003e#19964\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b7f75454695079f54b77fcdc9ebe3b9199d5ad30\"\u003e\u003ccode\u003eb7f7545\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003eSourceCode\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19953\"\u003e#19953\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f5a35e3b7cee17cd31fc02c24c3e74b42ee202bc\"\u003e\u003ccode\u003ef5a35e3\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in eslint-fuzzer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19960\"\u003e#19960\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f46fc6c137c951bc73cf3bd9446053c1b11f769b\"\u003e\u003ccode\u003ef46fc6c\u003c/code\u003e\u003c/a\u003e fix: report only global references in no-implied-eval (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19932\"\u003e#19932\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/86e7426e4463ca49ffa5c82e825ecb6aa19ca8a0\"\u003e\u003ccode\u003e86e7426\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/e22af8c42d622d8d912ee7bedf49bf4283247fdc\"\u003e\u003ccode\u003ee22af8c\u003c/code\u003e\u003c/a\u003e refactor: use \u003ccode\u003eCustomRuleDefinitionType\u003c/code\u003e in \u003ccode\u003eJSRuleDefinition\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19949\"\u003e#19949\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1245000c5a81954d42f0c7eb670efe450c3bbad5\"\u003e\u003ccode\u003e1245000\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in core rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19828\"\u003e#19828\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e85571730f1360464b7ee00695c678d551f9c643\"\u003e\u003ccode\u003ee855717\u003c/code\u003e\u003c/a\u003e chore: switch performance tests to hyperfine (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19919\"\u003e#19919\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0e957a7b5528f375a51e7c1a2fd1b03cdcd2af2d\"\u003e\u003ccode\u003e0e957a7\u003c/code\u003e\u003c/a\u003e feat: support typescript types in accessor rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19882\"\u003e#19882\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f73a23655092a41780859ffe0a07c44a2f1b5f5\"\u003e\u003ccode\u003e2f73a23\u003c/code\u003e\u003c/a\u003e test: switch to flat config mode in \u003ccode\u003east-utils\u003c/code\u003e tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19948\"\u003e#19948\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7863d26b7cfb03a81ec86f93439757ff60bf6afb\"\u003e\u003ccode\u003e7863d26\u003c/code\u003e\u003c/a\u003e fix: remove outdated types in \u003ccode\u003eParserOptions.ecmaFeatures\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19944\"\u003e#19944\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c565a530f50c96dacd44e096f7d531b073aa4dc7\"\u003e\u003ccode\u003ec565a53\u003c/code\u003e\u003c/a\u003e chore: exclude \u003ccode\u003efurther_reading_links.json\u003c/code\u003e from Prettier formatting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19943\"\u003e#19943\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/317330552e2d276221c7f2dd9c1516ad8b41cc3c\"\u003e\u003ccode\u003e3173305\u003c/code\u003e\u003c/a\u003e fix: update execScript message in no-implied-eval rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19937\"\u003e#19937\u003c/a\u003e) (TKDev7)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev9.31.0 - July 11, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ddd454c1c73294e5af7905d60d03fac162f1b3e\"\u003e\u003ccode\u003e3ddd454\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.31.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19935\"\u003e#19935\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d5054e5454a537e9ade238c768c262c6c592cbc1\"\u003e\u003ccode\u003ed5054e5\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0f4a3781fe7c11fad7b206c3c694655486ddd187\"\u003e\u003ccode\u003e0f4a378\u003c/code\u003e\u003c/a\u003e chore: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19933\"\u003e#19933\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/664cb44ab03785bd200a792607a7e20faa2d4b28\"\u003e\u003ccode\u003e664cb44\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/07fac6cafa0426b4d1ea12d9001f3955f19b286d\"\u003e\u003ccode\u003e07fac6c\u003c/code\u003e\u003c/a\u003e fix: retry on EMFILE when writing autofix results (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19926\"\u003e#19926\u003c/a\u003e) (TKDev7)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/35cf44c22e36b1554486e7a75c870e86c10b83f8\"\u003e\u003ccode\u003e35cf44c\u003c/code\u003e\u003c/a\u003e feat: output full actual location in rule tester if different (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19904\"\u003e#19904\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/40dbe2a43f83d366e9026faec70293512fb61ca2\"\u003e\u003ccode\u003e40dbe2a\u003c/code\u003e\u003c/a\u003e docs: fix mismatch between \u003ccode\u003eglobalIgnores()\u003c/code\u003e code and text (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19914\"\u003e#19914\u003c/a\u003e) (MaoShizhong)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/76c2340c368f96db77439b5cd1df0196cc39bf3e\"\u003e\u003ccode\u003e76c2340\u003c/code\u003e\u003c/a\u003e chore: bump mocha to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19917\"\u003e#19917\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/28cc7abbb72b29b1cac6fc4253646a7839586064\"\u003e\u003ccode\u003e28cc7ab\u003c/code\u003e\u003c/a\u003e fix: Remove incorrect RuleContext types (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19910\"\u003e#19910\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a6a63259de6cb5642f69c7be429554bbcedca4c0\"\u003e\u003ccode\u003ea6a6325\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-loop-func\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19895\"\u003e#19895\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4682cdc6960279ee17f23899fbab6f58d881eadf\"\u003e\u003ccode\u003e4682cdc\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-undef-init\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19894\"\u003e#19894\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/58482165eaf597cc5c58216a956c301ae87520b3\"\u003e\u003ccode\u003e5848216\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003einit-declarations\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19893\"\u003e#19893\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bb370b8e79f65ee32d9d89ecf249fb74a141ad22\"\u003e\u003ccode\u003ebb370b8\u003c/code\u003e\u003c/a\u003e feat: support explicit resource management in \u003ccode\u003eno-const-assign\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19892\"\u003e#19892\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5a0069d60815246cf24e1c96125540792c2507ef\"\u003e\u003ccode\u003e5a0069d\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/fef04b5c7fea99362d67b31b8e98cd4914020ed3\"\u003e\u003ccode\u003efef04b5\u003c/code\u003e\u003c/a\u003e docs: Update working on issues info (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19902\"\u003e#19902\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev9.30.1 - July 1, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b035f747c6e6d1c7a299c90b0ed0b8109cf24a53\"\u003e\u003ccode\u003eb035f74\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.30.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19906\"\u003e#19906\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b3dbc16563cb7036d75edff9814e17053a645321\"\u003e\u003ccode\u003eb3dbc16\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e91bb870f8c6e38baa508f18048cd2a2d04b8b9c\"\u003e\u003ccode\u003ee91bb87\u003c/code\u003e\u003c/a\u003e fix: allow separate default and named type imports (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19899\"\u003e#19899\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ab7c62598a9fca498e495d45029ae92fd5fb9bf3\"\u003e\u003ccode\u003eab7c625\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/dae1e5bb27db0e846efbe3026210013b42817838\"\u003e\u003ccode\u003edae1e5b\u003c/code\u003e\u003c/a\u003e docs: update jsdoc's link (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19896\"\u003e#19896\u003c/a\u003e) (JamesVanWaza)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ev9.30.0 - June 27, 2025\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b6491cd4b8eec44d4a3f8dea1b71151e8dd0230\"\u003e\u003ccode\u003e2b6491c\u003c/code\u003e\u003c/a\u003e chore: upgrade to \u003ccode\u003e@eslint/js@9.30.0\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19889\"\u003e#19889\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2364031090daafe34e80904c32065bfe4692d7a2\"\u003e\u003ccode\u003e2364031\u003c/code\u003e\u003c/a\u003e 9.32.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a0e62e2739a5e214b1d371eda76f6a3b664e222a\"\u003e\u003ccode\u003ea0e62e2\u003c/code\u003e\u003c/a\u003e Build: changelog update...\n\n_Description has been truncated_","html_url":"https://github.com/atani/mcp-server-macos-reminders/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/atani%2Fmcp-server-macos-reminders/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-06-16T10:54:11.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"3149545252","node_id":"PR_kwDOODlR786asXrA","number":210,"state":"open","title":"deps(deps): bump the security-updates group with 78 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":["ken-guru"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-16T10:54:11.000Z","updated_at":"2025-06-18T12:06:17.980Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"security-updates","update_count":78,"packages":[{"name":"@types/node","old_version":"22.15.29","new_version":"24.0.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@types/jest","old_version":"29.5.14","new_version":"30.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest-environment-jsdom","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"tough-cookie","old_version":"4.1.4","new_version":"5.1.2","repository_url":"https://github.com/salesforce/tough-cookie"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinclair/typebox","old_version":"0.27.8","new_version":"0.34.35","repository_url":"https://github.com/sinclairzx81/typebox"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/jsdom","old_version":"20.0.1","new_version":"21.1.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"agent-base","old_version":"6.0.2","new_version":"7.1.3","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"caniuse-lite","old_version":"1.0.30001721","new_version":"1.0.30001723","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.2.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"cssstyle","old_version":"2.3.0","new_version":"4.4.0","repository_url":"https://github.com/jsdom/cssstyle"},{"name":"data-urls","old_version":"3.0.2","new_version":"5.0.0","repository_url":"https://github.com/jsdom/data-urls"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.167","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"espree","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/js"},{"name":"expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"universalify","old_version":"0.2.0","new_version":"2.0.1","repository_url":"https://github.com/RyanZim/universalify"},{"name":"html-encoding-sniffer","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/html-encoding-sniffer"},{"name":"http-proxy-agent","old_version":"5.0.0","new_version":"7.0.2","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"https-proxy-agent","old_version":"5.0.1","new_version":"7.0.6","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jsdom","old_version":"20.0.3","new_version":"26.1.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"pump","old_version":"3.0.2","new_version":"3.0.3","repository_url":"https://github.com/mafintosh/pump"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"fdir","old_version":"6.4.5","new_version":"6.4.6","repository_url":"https://github.com/thecodrr/fdir"},{"name":"tr46","old_version":"3.0.0","new_version":"5.1.1","repository_url":"https://github.com/jsdom/tr46"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"unrs-resolver","old_version":"1.7.11","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"w3c-xmlserializer","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/w3c-xmlserializer"},{"name":"whatwg-encoding","old_version":"2.0.0","new_version":"3.1.1","repository_url":"https://github.com/jsdom/whatwg-encoding"},{"name":"whatwg-mimetype","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/whatwg-mimetype"},{"name":"whatwg-url","old_version":"11.0.0","new_version":"14.2.0","repository_url":"https://github.com/jsdom/whatwg-url"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"},{"name":"xml-name-validator","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/xml-name-validator"}],"path":null,"ecosystem":"npm"},"body":"Bumps the security-updates group with 78 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.29` | `24.0.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) | `29.5.14` | `30.0.0` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `29.7.0` | `30.0.0` |\n| [tough-cookie](https://github.com/salesforce/tough-cookie) | `4.1.4` | `5.1.2` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.0` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.0` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/typebox) | `0.27.8` | `0.34.35` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) | `20.0.1` | `21.1.7` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [agent-base](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/agent-base) | `6.0.2` | `7.1.3` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.0` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.0` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.0` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001721` | `1.0.30001723` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.2.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [cssstyle](https://github.com/jsdom/cssstyle) | `2.3.0` | `4.4.0` |\n| [data-urls](https://github.com/jsdom/data-urls) | `3.0.2` | `5.0.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.167` |\n| [espree](https://github.com/eslint/js/tree/HEAD/packages/espree) | `10.3.0` | `10.4.0` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.0.0` |\n| [universalify](https://github.com/RyanZim/universalify) | `0.2.0` | `2.0.1` |\n| [html-encoding-sniffer](https://github.com/jsdom/html-encoding-sniffer) | `3.0.0` | `4.0.0` |\n| [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) | `5.0.0` | `7.0.2` |\n| [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) | `5.0.1` | `7.0.6` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.0.0` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `20.0.3` | `26.1.0` |\n| [pump](https://github.com/mafintosh/pump) | `3.0.2` | `3.0.3` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [fdir](https://github.com/thecodrr/fdir) | `6.4.5` | `6.4.6` |\n| [tr46](https://github.com/jsdom/tr46) | `3.0.0` | `5.1.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.7.11` | `1.9.0` |\n| [w3c-xmlserializer](https://github.com/jsdom/w3c-xmlserializer) | `4.0.0` | `5.0.0` |\n| [whatwg-encoding](https://github.com/jsdom/whatwg-encoding) | `2.0.0` | `3.1.1` |\n| [whatwg-mimetype](https://github.com/jsdom/whatwg-mimetype) | `3.0.0` | `4.0.0` |\n| [whatwg-url](https://github.com/jsdom/whatwg-url) | `11.0.0` | `14.2.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n| [xml-name-validator](https://github.com/jsdom/xml-name-validator) | `4.0.0` | `5.0.0` |\n\nUpdates `@types/node` from 22.15.29 to 24.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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\nUpdates `jest-environment-jsdom` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a123a3b667a178fb988662aaa1bc6308af759017\"\u003e\u003ccode\u003ea123a3b\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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 `tough-cookie` from 4.1.4 to 5.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/salesforce/tough-cookie/releases\"\u003etough-cookie's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.1.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix regression bug in \u003ccode\u003edomainMatch\u003c/code\u003e by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/500\"\u003esalesforce/tough-cookie#500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare v5.1.2 by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/501\"\u003esalesforce/tough-cookie#501\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v5.1.1...v5.1.2\"\u003ehttps://github.com/salesforce/tough-cookie/compare/v5.1.1...v5.1.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: avoid nodejs modules by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/487\"\u003esalesforce/tough-cookie#487\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/490\"\u003esalesforce/tough-cookie#490\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.71 to 6.1.76 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/489\"\u003esalesforce/tough-cookie#489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump eslint-config-prettier from 9.1.0 to 10.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/491\"\u003esalesforce/tough-cookie#491\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eisolated modules and almost isolated declarations by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/486\"\u003esalesforce/tough-cookie#486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: auto-close spam PRs by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/493\"\u003esalesforce/tough-cookie#493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v5.1.0...v5.1.1\"\u003ehttps://github.com/salesforce/tough-cookie/compare/v5.1.0...v5.1.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eScheduled integration test with jsdom by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/450\"\u003esalesforce/tough-cookie#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/454\"\u003esalesforce/tough-cookie#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove cookies that expire at epoch time of \u003ccode\u003e0\u003c/code\u003e by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/457\"\u003esalesforce/tough-cookie#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore missing \u003ccode\u003eexpiryDate\u003c/code\u003e method by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/459\"\u003esalesforce/tough-cookie#459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.41 to 6.1.48 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/461\"\u003esalesforce/tough-cookie#461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group with 7 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/462\"\u003esalesforce/tough-cookie#462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(path-match): avoid parsing path as regex by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/465\"\u003esalesforce/tough-cookie#465\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.48 to 6.1.57 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/466\"\u003esalesforce/tough-cookie#466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group with 8 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/467\"\u003esalesforce/tough-cookie#467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.57 to 6.1.65 in the production-dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/468\"\u003esalesforce/tough-cookie#468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group across 1 directory with 8 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/471\"\u003esalesforce/tough-cookie#471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: streamline package publishing by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/453\"\u003esalesforce/tough-cookie#453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the dev-dependencies group across 1 directory with 8 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/476\"\u003esalesforce/tough-cookie#476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump tldts from 6.1.65 to 6.1.71 in the production-dependencies group across 1 directory by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/478\"\u003esalesforce/tough-cookie#478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix npm token config for publish by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/482\"\u003esalesforce/tough-cookie#482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGive permissions for provenance generation by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/483\"\u003esalesforce/tough-cookie#483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erevert: use runtime-agnostic \u003ccode\u003edomainToASCII\u003c/code\u003e by \u003ca href=\"https://github.com/wjhsf\"\u003e\u003ccode\u003e@​wjhsf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/480\"\u003esalesforce/tough-cookie#480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrepare release v5.1.0 by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/484\"\u003esalesforce/tough-cookie#484\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v5.0.0...v5.1.0\"\u003ehttps://github.com/salesforce/tough-cookie/compare/v5.0.0...v5.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.1.0-rc.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eScheduled integration test with jsdom by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/450\"\u003esalesforce/tough-cookie#450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate README.md by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/454\"\u003esalesforce/tough-cookie#454\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove cookies that expire at epoch time of \u003ccode\u003e0\u003c/code\u003e by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/457\"\u003esalesforce/tough-cookie#457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore missing \u003ccode\u003eexpiryDate\u003c/code\u003e method by \u003ca href=\"https://github.com/colincasey\"\u003e\u003ccode\u003e@​colincasey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/pull/459\"\u003esalesforce/tough-cookie#459\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/a2c72efe202a2050e9e201d5a911680fb7e1a19c\"\u003e\u003ccode\u003ea2c72ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/501\"\u003e#501\u003c/a\u003e from salesforce/prepare_v5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/7034c221775ce87d7027ff44ede9928d7af253cd\"\u003e\u003ccode\u003e7034c22\u003c/code\u003e\u003c/a\u003e 5.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/824b40159e80434b5f29fdf7de37646eb843e938\"\u003e\u003ccode\u003e824b401\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/500\"\u003e#500\u003c/a\u003e from salesforce/499_domain_match_fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/a312820a55667f74e92cd4fd8230b1bc82a7914a\"\u003e\u003ccode\u003ea312820\u003c/code\u003e\u003c/a\u003e Fix regression bug in \u003ccode\u003edomainMatch\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/9328fc4b2ba36c11ac56ec85b80ad276d3acf6d6\"\u003e\u003ccode\u003e9328fc4\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/497\"\u003e#497\u003c/a\u003e from salesforce/wjh/release-v5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/28993365a0049b0025d9d67f6b11224c68d8476c\"\u003e\u003ccode\u003e2899336\u003c/code\u003e\u003c/a\u003e 5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/4954aedb999585162c2c896e7d38bb2284671288\"\u003e\u003ccode\u003e4954aed\u003c/code\u003e\u003c/a\u003e chore: npm audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/bb3e137d44421760ae49a9925f36c91961fe9b8a\"\u003e\u003ccode\u003ebb3e137\u003c/code\u003e\u003c/a\u003e chore: auto-close spam PRs (\u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/493\"\u003e#493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/55ba3c68d8afa318ee04caed370e9cc694bb98c9\"\u003e\u003ccode\u003e55ba3c6\u003c/code\u003e\u003c/a\u003e isolated modules and almost isolated declarations (\u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/486\"\u003e#486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/salesforce/tough-cookie/commit/9fc37ef9323be10f428366c8ad9bc4f32531c784\"\u003e\u003ccode\u003e9fc37ef\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/salesforce/tough-cookie/issues/491\"\u003e#491\u003c/a\u003e from salesforce/dependabot/npm_and_yarn/eslint-config...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/salesforce/tough-cookie/compare/v4.1.4...v5.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com...\n\n_Description has been truncated_","html_url":"https://github.com/ken-guru/github-copilot-agent-assisted-next-app/pull/210","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ken-guru%2Fgithub-copilot-agent-assisted-next-app/issues/210","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/210/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-06-13T12:07:02.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2590085824","node_id":"PR_kwDONFe-2c6aYZLA","number":45,"state":"closed","title":"Bump the major-updates group with 107 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-06-20T12:08:15.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-13T12:07:02.000Z","updated_at":"2025-06-20T12:08:16.000Z","time_to_close":604873,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"major-updates","update_count":107,"packages":[{"name":"@types/node","old_version":"22.13.10","new_version":"24.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@babel/code-frame","old_version":"7.26.2","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/compat-data","old_version":"7.26.8","new_version":"7.27.5","repository_url":"https://github.com/babel/babel"},{"name":"@babel/core","old_version":"7.26.10","new_version":"7.27.4","repository_url":"https://github.com/babel/babel"},{"name":"@babel/generator","old_version":"7.26.10","new_version":"7.27.5","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-compilation-targets","old_version":"7.26.5","new_version":"7.27.2","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-imports","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-module-transforms","old_version":"7.26.0","new_version":"7.27.3","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-plugin-utils","old_version":"7.26.5","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-string-parser","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-validator-identifier","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helper-validator-option","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/helpers","old_version":"7.26.10","new_version":"7.27.6","repository_url":"https://github.com/babel/babel"},{"name":"@babel/parser","old_version":"7.26.10","new_version":"7.27.5","repository_url":"https://github.com/babel/babel"},{"name":"@babel/plugin-syntax-import-attributes","old_version":"7.26.0","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/plugin-syntax-jsx","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/plugin-syntax-typescript","old_version":"7.25.9","new_version":"7.27.1","repository_url":"https://github.com/babel/babel"},{"name":"@babel/template","old_version":"7.26.9","new_version":"7.27.2","repository_url":"https://github.com/babel/babel"},{"name":"@babel/traverse","old_version":"7.26.10","new_version":"7.27.4","repository_url":"https://github.com/babel/babel"},{"name":"@babel/types","old_version":"7.26.10","new_version":"7.27.6","repository_url":"https://github.com/babel/babel"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@napi-rs/wasm-runtime","old_version":"0.2.9","new_version":"0.2.10","repository_url":"https://github.com/napi-rs/napi-rs"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/babel__generator","old_version":"7.6.8","new_version":"7.27.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/babel__traverse","old_version":"7.20.6","new_version":"7.20.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/jsdom","old_version":"20.0.1","new_version":"21.1.7","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"@unrs/resolver-binding-darwin-arm64","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-darwin-x64","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-freebsd-x64","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm-gnueabihf","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm-musleabihf","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-arm64-musl","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-ppc64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-riscv64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-riscv64-musl","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-s390x-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-x64-gnu","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-linux-x64-musl","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-wasm32-wasi","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-win32-arm64-msvc","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-win32-ia32-msvc","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"@unrs/resolver-binding-win32-x64-msvc","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"agent-base","old_version":"6.0.2","new_version":"7.1.3","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"cssstyle","old_version":"2.3.0","new_version":"4.4.0","repository_url":"https://github.com/jsdom/cssstyle"},{"name":"data-urls","old_version":"3.0.2","new_version":"5.0.0","repository_url":"https://github.com/jsdom/data-urls"},{"name":"dedent","old_version":"1.5.3","new_version":"1.6.0","repository_url":"https://github.com/dmnd/dedent"},{"name":"entities","old_version":"4.5.0","new_version":"6.0.1","repository_url":"https://github.com/fb55/entities"},{"name":"html-encoding-sniffer","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/html-encoding-sniffer"},{"name":"http-proxy-agent","old_version":"5.0.0","new_version":"7.0.2","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"https-proxy-agent","old_version":"5.0.1","new_version":"7.0.6","repository_url":"https://github.com/TooTallNate/proxy-agents"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jsdom","old_version":"20.0.3","new_version":"26.1.0","repository_url":"https://github.com/jsdom/jsdom"},{"name":"nwsapi","old_version":"2.2.18","new_version":"2.2.20","repository_url":"https://github.com/dperini/nwsapi"},{"name":"parse5","old_version":"7.2.1","new_version":"7.3.0","repository_url":"https://github.com/inikulin/parse5"},{"name":"pirates","old_version":"4.0.6","new_version":"4.0.7","repository_url":"https://github.com/danez/pirates"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"tough-cookie","old_version":"4.1.4","new_version":"5.1.2","repository_url":"https://github.com/salesforce/tough-cookie"},{"name":"tr46","old_version":"3.0.0","new_version":"5.1.1","repository_url":"https://github.com/jsdom/tr46"},{"name":"tslib","old_version":"2.8.1","new_version":"2.8.0","repository_url":"https://github.com/Microsoft/tslib"},{"name":"undici-types","old_version":"6.20.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"unrs-resolver","old_version":"1.7.2","new_version":"1.9.0","repository_url":"https://github.com/unrs/unrs-resolver"},{"name":"w3c-xmlserializer","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/w3c-xmlserializer"},{"name":"whatwg-encoding","old_version":"2.0.0","new_version":"3.1.1","repository_url":"https://github.com/jsdom/whatwg-encoding"},{"name":"whatwg-mimetype","old_version":"3.0.0","new_version":"4.0.0","repository_url":"https://github.com/jsdom/whatwg-mimetype"},{"name":"whatwg-url","old_version":"11.0.0","new_version":"14.2.0","repository_url":"https://github.com/jsdom/whatwg-url"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"},{"name":"ws","old_version":"8.18.1","new_version":"8.18.2","repository_url":"https://github.com/websockets/ws"},{"name":"xml-name-validator","old_version":"4.0.0","new_version":"5.0.0","repository_url":"https://github.com/jsdom/xml-name-validator"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 107 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.13.10` | `24.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `29.7.0` | `30.0.0` |\n| [@babel/code-frame](https://github.com/babel/babel/tree/HEAD/packages/babel-code-frame) | `7.26.2` | `7.27.1` |\n| [@babel/compat-data](https://github.com/babel/babel/tree/HEAD/packages/babel-compat-data) | `7.26.8` | `7.27.5` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.26.10` | `7.27.4` |\n| [@babel/generator](https://github.com/babel/babel/tree/HEAD/packages/babel-generator) | `7.26.10` | `7.27.5` |\n| [@babel/helper-compilation-targets](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-compilation-targets) | `7.26.5` | `7.27.2` |\n| [@babel/helper-module-imports](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-imports) | `7.25.9` | `7.27.1` |\n| [@babel/helper-module-transforms](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-module-transforms) | `7.26.0` | `7.27.3` |\n| [@babel/helper-plugin-utils](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-plugin-utils) | `7.26.5` | `7.27.1` |\n| [@babel/helper-string-parser](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-string-parser) | `7.25.9` | `7.27.1` |\n| [@babel/helper-validator-identifier](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-validator-identifier) | `7.25.9` | `7.27.1` |\n| [@babel/helper-validator-option](https://github.com/babel/babel/tree/HEAD/packages/babel-helper-validator-option) | `7.25.9` | `7.27.1` |\n| [@babel/helpers](https://github.com/babel/babel/tree/HEAD/packages/babel-helpers) | `7.26.10` | `7.27.6` |\n| [@babel/parser](https://github.com/babel/babel/tree/HEAD/packages/babel-parser) | `7.26.10` | `7.27.5` |\n| [@babel/plugin-syntax-import-attributes](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-import-attributes) | `7.26.0` | `7.27.1` |\n| [@babel/plugin-syntax-jsx](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-jsx) | `7.25.9` | `7.27.1` |\n| [@babel/plugin-syntax-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-syntax-typescript) | `7.25.9` | `7.27.1` |\n| [@babel/template](https://github.com/babel/babel/tree/HEAD/packages/babel-template) | `7.26.9` | `7.27.2` |\n| [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) | `7.26.10` | `7.27.4` |\n| [@babel/types](https://github.com/babel/babel/tree/HEAD/packages/babel-types) | `7.26.10` | `7.27.6` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.0` |\n| [@napi-rs/wasm-runtime](https://github.com/napi-rs/napi-rs/tree/HEAD/wasi-runtime) | `0.2.9` | `0.2.10` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/babel__generator](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__generator) | `7.6.8` | `7.27.0` |\n| [@types/babel__traverse](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__traverse) | `7.20.6` | `7.20.7` |\n| [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) | `20.0.1` | `21.1.7` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [@unrs/resolver-binding-darwin-arm64](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-darwin-x64](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-freebsd-x64](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm-gnueabihf](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm-musleabihf](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-arm64-musl](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-ppc64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-riscv64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-riscv64-musl](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-s390x-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-x64-gnu](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-linux-x64-musl](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-wasm32-wasi](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-win32-arm64-msvc](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-win32-ia32-msvc](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [@unrs/resolver-binding-win32-x64-msvc](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [agent-base](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/agent-base) | `6.0.2` | `7.1.3` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.0` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.0` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [cssstyle](https://github.com/jsdom/cssstyle) | `2.3.0` | `4.4.0` |\n| [data-urls](https://github.com/jsdom/data-urls) | `3.0.2` | `5.0.0` |\n| [dedent](https://github.com/dmnd/dedent) | `1.5.3` | `1.6.0` |\n| [entities](https://github.com/fb55/entities) | `4.5.0` | `6.0.1` |\n| [html-encoding-sniffer](https://github.com/jsdom/html-encoding-sniffer) | `3.0.0` | `4.0.0` |\n| [http-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/http-proxy-agent) | `5.0.0` | `7.0.2` |\n| [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) | `5.0.1` | `7.0.6` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `20.0.3` | `26.1.0` |\n| [nwsapi](https://github.com/dperini/nwsapi) | `2.2.18` | `2.2.20` |\n| [parse5](https://github.com/inikulin/parse5) | `7.2.1` | `7.3.0` |\n| [pirates](https://github.com/danez/pirates) | `4.0.6` | `4.0.7` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [tough-cookie](https://github.com/salesforce/tough-cookie) | `4.1.4` | `5.1.2` |\n| [tr46](https://github.com/jsdom/tr46) | `3.0.0` | `5.1.1` |\n| [tslib](https://github.com/Microsoft/tslib) | `2.8.1` | `2.8.0` |\n| [undici-types](https://github.com/nodejs/undici) | `6.20.0` | `7.8.0` |\n| [unrs-resolver](https://github.com/unrs/unrs-resolver) | `1.7.2` | `1.9.0` |\n| [w3c-xmlserializer](https://github.com/jsdom/w3c-xmlserializer) | `4.0.0` | `5.0.0` |\n| [whatwg-encoding](https://github.com/jsdom/whatwg-encoding) | `2.0.0` | `3.1.1` |\n| [whatwg-mimetype](https://github.com/jsdom/whatwg-mimetype) | `3.0.0` | `4.0.0` |\n| [whatwg-url](https://github.com/jsdom/whatwg-url) | `11.0.0` | `14.2.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n| [ws](https://github.com/websockets/ws) | `8.18.1` | `8.18.2` |\n| [xml-name-validator](https://github.com/jsdom/xml-name-validator) | `4.0.0` | `5.0.0` |\n\nUpdates `@types/node` from 22.13.10 to 24.0.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 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a123a3b667a178fb988662aaa1bc6308af759017\"\u003e\u003ccode\u003ea123a3b\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/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/code-frame` from 7.26.2 to 7.27.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e\u003ccode\u003e@​babel/code-frame\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.27.1 (2025-04-30)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/kermanx\"\u003e\u003ccode\u003e@​kermanx\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/woaitsAryan\"\u003e\u003ccode\u003e@​woaitsAryan\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17254\"\u003e#17254\u003c/a\u003e Allow \u003ccode\u003eusing of\u003c/code\u003e as lexical declaration within for (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17230\"\u003e#17230\u003c/a\u003e Disallow get/set in TSPropertySignature (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-types\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17193\"\u003e#17193\u003c/a\u003e Stricter TSImportType options parsing (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-proposal-destructuring-private\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-do-expressions\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17137\"\u003e#17137\u003c/a\u003e fix: do expressions should allow early exit (\u003ca href=\"https://github.com/kermanx\"\u003e\u003ccode\u003e@​kermanx\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-wrap-function\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17251\"\u003e#17251\u003c/a\u003e Fix: propagate argument evaluation errors through async promise chain (\u003ca href=\"https://github.com/magic-akari\"\u003e\u003ccode\u003e@​magic-akari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-remap-async-to-generator\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17231\"\u003e#17231\u003c/a\u003e fix apply()/call() annotated as pure (\u003ca href=\"https://github.com/Lacsw\"\u003e\u003ccode\u003e@​Lacsw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-fixtures\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17233\"\u003e#17233\u003c/a\u003e Create ChainExpression within TSInstantiationExpression (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17226\"\u003e#17226\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 2) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17224\"\u003e#17224\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 1) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17080\"\u003e#17080\u003c/a\u003e Fix start of TSParameterProperty (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17228\"\u003e#17228\u003c/a\u003e Update firefox bugfix compat data (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17156\"\u003e#17156\u003c/a\u003e fix: Objects and arrays with multiple references should not be evaluated (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17216\"\u003e#17216\u003c/a\u003e Fix: support const type parameter in generator (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:nail_care: Polish\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-bugfix-v8-spread-parameters-in-optional-chaining\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-decorators\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-arrow-functions\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-destructuring\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-object-rest-spread\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-optional-chaining\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-parameters\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17221\"\u003e#17221\u003c/a\u003e Reduce generated names size for the 10th-11th (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-runtime-corejs2\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e, \u003ccode\u003ebabel-runtime\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17263\"\u003e#17263\u003c/a\u003e Remove unused \u003ccode\u003eregenerator-runtime\u003c/code\u003e dep in \u003ccode\u003e@babel/runtime\u003c/code\u003e (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17256\"\u003e#17256\u003c/a\u003e Tune plugin compat data (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-compat-data\u003c/code\u003e, \u003ccode\u003ebabel-standalone\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17236\"\u003e#17236\u003c/a\u003e migrate babel-compat-data build script to mjs (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-register\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/16844\"\u003e#16844\u003c/a\u003e Migrate \u003ccode\u003e@babel/register\u003c/code\u003e to cts (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-generator-functions\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-regenerator\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17205\"\u003e#17205\u003c/a\u003e Inline regenerator in the relevant packages (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cem\u003eAll packages\u003c/em\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17207\"\u003e#17207\u003c/a\u003e Enforce node protocol import (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/babel/babel/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​babel/code-frame\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.27.1 (2025-04-30)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17254\"\u003e#17254\u003c/a\u003e Allow \u003ccode\u003eusing of\u003c/code\u003e as lexical declaration within for (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17230\"\u003e#17230\u003c/a\u003e Disallow get/set in TSPropertySignature (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-types\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17193\"\u003e#17193\u003c/a\u003e Stricter TSImportType options parsing (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-plugin-proposal-destructuring-private\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-do-expressions\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17137\"\u003e#17137\u003c/a\u003e fix: do expressions should allow early exit (\u003ca href=\"https://github.com/kermanx\"\u003e\u003ccode\u003e@​kermanx\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-wrap-function\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17251\"\u003e#17251\u003c/a\u003e Fix: propagate argument evaluation errors through async promise chain (\u003ca href=\"https://github.com/magic-akari\"\u003e\u003ccode\u003e@​magic-akari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-remap-async-to-generator\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-to-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17231\"\u003e#17231\u003c/a\u003e fix apply()/call() annotated as pure (\u003ca href=\"https://github.com/Lacsw\"\u003e\u003ccode\u003e@​Lacsw\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-fixtures\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17233\"\u003e#17233\u003c/a\u003e Create ChainExpression within TSInstantiationExpression (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17226\"\u003e#17226\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 2) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17224\"\u003e#17224\u003c/a\u003e Fill optional AST properties when both estree and typescript parser plugin are enabled (Part 1) (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17080\"\u003e#17080\u003c/a\u003e Fix start of TSParamete...\n\n_Description has been truncated_","html_url":"https://github.com/integritystl/task-management-challenge/pull/45","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/integritystl%2Ftask-management-challenge/issues/45","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/45/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-06-13T11:59:21.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2590069969","node_id":"PR_kwDOOxyR2M6aYVTR","number":7,"state":"closed","title":"Bump the major-updates group with 57 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-06-20T15:48:44.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-13T11:59:21.000Z","updated_at":"2025-06-20T15:48:44.000Z","time_to_close":618563,"merged_at":"2025-06-20T15:48:44.000Z","merged_by":"bpkennedy","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"major-updates","update_count":57,"packages":[{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/schemas","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/transform","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinclair/typebox","old_version":"0.27.8","new_version":"0.34.35","repository_url":"https://github.com/sinclairzx81/typebox"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"babel-jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-plugin-istanbul","old_version":"6.1.1","new_version":"7.0.0","repository_url":"https://github.com/istanbuljs/babel-plugin-istanbul"},{"name":"istanbul-lib-instrument","old_version":"5.2.1","new_version":"6.0.3","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"babel-plugin-jest-hoist","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"babel-preset-jest","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"caniuse-lite","old_version":"1.0.30001721","new_version":"1.0.30001723","repository_url":"https://github.com/browserslist/caniuse-lite"},{"name":"ci-info","old_version":"3.9.0","new_version":"4.2.0","repository_url":"https://github.com/watson/ci-info"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.167","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-diff","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-haste-map","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-matcher-utils","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-message-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-regex-util","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-util","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-worker","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pretty-format","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"},{"name":"write-file-atomic","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/npm/write-file-atomic"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 57 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/expect-utils](https://github.com/jestjs/jest/tree/HEAD/packages/expect-utils) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/schemas](https://github.com/jestjs/jest/tree/HEAD/packages/jest-schemas) | `29.6.3` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@jest/transform](https://github.com/jestjs/jest/tree/HEAD/packages/jest-transform) | `29.7.0` | `30.0.0` |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.0` |\n| [@sinclair/typebox](https://github.com/sinclairzx81/typebox) | `0.27.8` | `0.34.35` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.1` |\n| [babel-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-jest) | `29.7.0` | `30.0.0` |\n| [babel-plugin-istanbul](https://github.com/istanbuljs/babel-plugin-istanbul) | `6.1.1` | `7.0.0` |\n| [istanbul-lib-instrument](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-instrument) | `5.2.1` | `6.0.3` |\n| [babel-plugin-jest-hoist](https://github.com/jestjs/jest/tree/HEAD/packages/babel-plugin-jest-hoist) | `29.6.3` | `30.0.0` |\n| [babel-preset-jest](https://github.com/jestjs/jest/tree/HEAD/packages/babel-preset-jest) | `29.6.3` | `30.0.0` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [caniuse-lite](https://github.com/browserslist/caniuse-lite) | `1.0.30001721` | `1.0.30001723` |\n| [ci-info](https://github.com/watson/ci-info) | `3.9.0` | `4.2.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.167` |\n| [expect](https://github.com/jestjs/jest/tree/HEAD/packages/expect) | `29.7.0` | `30.0.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-diff](https://github.com/jestjs/jest/tree/HEAD/packages/jest-diff) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-haste-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-haste-map) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-matcher-utils](https://github.com/jestjs/jest/tree/HEAD/packages/jest-matcher-utils) | `29.7.0` | `30.0.0` |\n| [jest-message-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-message-util) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-regex-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-regex-util) | `29.6.3` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-util](https://github.com/jestjs/jest/tree/HEAD/packages/jest-util) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [jest-worker](https://github.com/jestjs/jest/tree/HEAD/packages/jest-worker) | `29.7.0` | `30.0.0` |\n| [pretty-format](https://github.com/jestjs/jest/tree/HEAD/packages/pretty-format) | `29.7.0` | `30.0.0` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n| [write-file-atomic](https://github.com/npm/write-file-atomic) | `4.0.2` | `5.0.1` |\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/console\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a2218e4f794f914884c403ecceb274ada595f2b9\"\u003e\u003ccode\u003ea2218e4\u003c/code\u003e\u003c/a\u003e Stop using \u003ccode\u003eimport X = require('…')\u003c/code\u003e. (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15659\"\u003e#15659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-console\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/console\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/core` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/core\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/core\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode...\n\n_Description has been truncated_","html_url":"https://github.com/integritystl/task-master-sync/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/integritystl%2Ftask-master-sync/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-06-13T11:30:44.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"3143281847","node_id":"PR_kwDOMjk3RM6aYGnL","number":49,"state":"open","title":"Bump the major-updates group with 34 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-13T11:30:44.000Z","updated_at":"2025-06-20T11:56:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"major-updates","update_count":34,"packages":[{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"brace-expansion","old_version":"1.1.11","new_version":"1.1.12","repository_url":"https://github.com/juliangruber/brace-expansion"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"}],"path":null,"ecosystem":"npm"},"body":"Bumps the major-updates group with 34 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.1` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [brace-expansion](https://github.com/juliangruber/brace-expansion) | `1.1.11` | `1.1.12` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n\nUpdates `@types/node` from 22.15.30 to 24.0.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 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/console\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a2218e4f794f914884c403ecceb274ada595f2b9\"\u003e\u003ccode\u003ea2218e4\u003c/code\u003e\u003c/a\u003e Stop using \u003ccode\u003eimport X = require('…')\u003c/code\u003e. (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15659\"\u003e#15659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-console\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/console\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/core` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/core\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/core\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jes...\n\n_Description has been truncated_","html_url":"https://github.com/integritystl/integrityxd-wp-rest-api-client/pull/49","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/integritystl%2Fintegrityxd-wp-rest-api-client/issues/49","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/49/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-06-10T08:29:06.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2580499748","node_id":"PR_kwDOHjv1ec6Zz00k","number":1692,"state":"closed","title":"Bump the miscs group with 34 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":["poad"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-06-10T08:29:35.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-10T08:29:06.000Z","updated_at":"2025-06-10T08:29:36.000Z","time_to_close":29,"merged_at":"2025-06-10T08:29:35.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"miscs","update_count":34,"packages":[{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.166","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"}],"path":null,"ecosystem":"npm"},"body":"Bumps the miscs group with 34 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.166` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n\nUpdates `@types/node` from 22.15.30 to 24.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/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/console\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a2218e4f794f914884c403ecceb274ada595f2b9\"\u003e\u003ccode\u003ea2218e4\u003c/code\u003e\u003c/a\u003e Stop using \u003ccode\u003eimport X = require('…')\u003c/code\u003e. (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15659\"\u003e#15659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-console/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-console\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/console\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/core` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/core\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/core\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/...\n\n_Description has been truncated_","html_url":"https://github.com/poad/aws-setup/pull/1692","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/poad%2Faws-setup/issues/1692","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1692/packages"}},{"old_version":"6.1.0","new_version":"7.0.1","update_type":"major","path":null,"pr_created_at":"2025-06-10T03:57:24.000Z","version_change":"6.1.0 → 7.0.1","issue":{"uuid":"2579980982","node_id":"PR_kwDONiXIMs6Zx2K2","number":200,"state":"closed","title":"deps: bump the all-dependencies group with 49 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":"2025-06-10T03:57:53.000Z","author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-10T03:57:24.000Z","updated_at":"2025-06-10T03:57:54.000Z","time_to_close":29,"merged_at":"2025-06-10T03:57:53.000Z","merged_by":"github-actions[bot]","closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"all-dependencies","update_count":49,"packages":[{"name":"@jest/types","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"jest","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"typescript-eslint","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@jest/console","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/core","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/environment","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/expect","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/fake-timers","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/globals","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/reporters","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/source-map","old_version":"29.6.3","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-result","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@jest/test-sequencer","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"@sinonjs/fake-timers","old_version":"10.3.0","new_version":"13.0.5","repository_url":"https://github.com/sinonjs/fake-timers"},{"name":"@types/node","old_version":"22.15.30","new_version":"24.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/project-service","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/scope-manager","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/tsconfig-utils","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/type-utils","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/types","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/typescript-estree","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/utils","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/visitor-keys","old_version":"8.33.1","new_version":"8.34.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"cjs-module-lexer","old_version":"1.4.3","new_version":"2.1.0","repository_url":"https://github.com/nodejs/cjs-module-lexer"},{"name":"electron-to-chromium","old_version":"1.5.165","new_version":"1.5.166","repository_url":"https://github.com/kilian/electron-to-chromium"},{"name":"eslint-scope","old_version":"8.3.0","new_version":"8.4.0","repository_url":"https://github.com/eslint/js"},{"name":"espree","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/js"},{"name":"istanbul-lib-source-maps","old_version":"4.0.1","new_version":"5.0.6","repository_url":"https://github.com/istanbuljs/istanbuljs"},{"name":"jest-changed-files","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-circus","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-cli","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-config","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-docblock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-each","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-node","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-leak-detector","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-mock","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve-dependencies","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-resolve","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runner","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-runtime","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-snapshot","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-validate","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-watcher","old_version":"29.7.0","new_version":"30.0.0","repository_url":"https://github.com/jestjs/jest"},{"name":"normalize-url","old_version":"8.0.1","new_version":"8.0.2","repository_url":"https://github.com/sindresorhus/normalize-url"},{"name":"pure-rand","old_version":"6.1.0","new_version":"7.0.1","repository_url":"https://github.com/dubzzz/pure-rand"},{"name":"undici-types","old_version":"6.21.0","new_version":"7.8.0","repository_url":"https://github.com/nodejs/undici"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all-dependencies group with 49 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@jest/types](https://github.com/jestjs/jest/tree/HEAD/packages/jest-types) | `29.6.3` | `30.0.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.33.1` | `8.34.0` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `29.7.0` | `30.0.0` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.33.1` | `8.34.0` |\n| [@jest/console](https://github.com/jestjs/jest/tree/HEAD/packages/jest-console) | `29.7.0` | `30.0.0` |\n| [@jest/core](https://github.com/jestjs/jest/tree/HEAD/packages/jest-core) | `29.7.0` | `30.0.0` |\n| [@jest/environment](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment) | `29.7.0` | `30.0.0` |\n| [@jest/expect](https://github.com/jestjs/jest/tree/HEAD/packages/jest-expect) | `29.7.0` | `30.0.0` |\n| [@jest/fake-timers](https://github.com/jestjs/jest/tree/HEAD/packages/jest-fake-timers) | `29.7.0` | `30.0.0` |\n| [@jest/globals](https://github.com/jestjs/jest/tree/HEAD/packages/jest-globals) | `29.7.0` | `30.0.0` |\n| [@jest/reporters](https://github.com/jestjs/jest/tree/HEAD/packages/jest-reporters) | `29.7.0` | `30.0.0` |\n| [@jest/source-map](https://github.com/jestjs/jest/tree/HEAD/packages/jest-source-map) | `29.6.3` | `30.0.0` |\n| [@jest/test-result](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-result) | `29.7.0` | `30.0.0` |\n| [@jest/test-sequencer](https://github.com/jestjs/jest/tree/HEAD/packages/jest-test-sequencer) | `29.7.0` | `30.0.0` |\n| [@sinonjs/fake-timers](https://github.com/sinonjs/fake-timers) | `10.3.0` | `13.0.5` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `22.15.30` | `24.0.0` |\n| [@typescript-eslint/project-service](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/project-service) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/scope-manager](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/scope-manager) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/tsconfig-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/tsconfig-utils) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/type-utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/type-utils) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/types](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/types) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/typescript-estree](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-estree) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.33.1` | `8.34.0` |\n| [@typescript-eslint/visitor-keys](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/visitor-keys) | `8.33.1` | `8.34.0` |\n| [cjs-module-lexer](https://github.com/nodejs/cjs-module-lexer) | `1.4.3` | `2.1.0` |\n| [electron-to-chromium](https://github.com/kilian/electron-to-chromium) | `1.5.165` | `1.5.166` |\n| [eslint-scope](https://github.com/eslint/js/tree/HEAD/packages/eslint-scope) | `8.3.0` | `8.4.0` |\n| [espree](https://github.com/eslint/js/tree/HEAD/packages/espree) | `10.3.0` | `10.4.0` |\n| [istanbul-lib-source-maps](https://github.com/istanbuljs/istanbuljs/tree/HEAD/packages/istanbul-lib-source-maps) | `4.0.1` | `5.0.6` |\n| [jest-changed-files](https://github.com/jestjs/jest/tree/HEAD/packages/jest-changed-files) | `29.7.0` | `30.0.0` |\n| [jest-circus](https://github.com/jestjs/jest/tree/HEAD/packages/jest-circus) | `29.7.0` | `30.0.0` |\n| [jest-cli](https://github.com/jestjs/jest/tree/HEAD/packages/jest-cli) | `29.7.0` | `30.0.0` |\n| [jest-config](https://github.com/jestjs/jest/tree/HEAD/packages/jest-config) | `29.7.0` | `30.0.0` |\n| [jest-docblock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-docblock) | `29.7.0` | `30.0.0` |\n| [jest-each](https://github.com/jestjs/jest/tree/HEAD/packages/jest-each) | `29.7.0` | `30.0.0` |\n| [jest-environment-node](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-node) | `29.7.0` | `30.0.0` |\n| [jest-leak-detector](https://github.com/jestjs/jest/tree/HEAD/packages/jest-leak-detector) | `29.7.0` | `30.0.0` |\n| [jest-mock](https://github.com/jestjs/jest/tree/HEAD/packages/jest-mock) | `29.7.0` | `30.0.0` |\n| [jest-resolve-dependencies](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve-dependencies) | `29.7.0` | `30.0.0` |\n| [jest-resolve](https://github.com/jestjs/jest/tree/HEAD/packages/jest-resolve) | `29.7.0` | `30.0.0` |\n| [jest-runner](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runner) | `29.7.0` | `30.0.0` |\n| [jest-runtime](https://github.com/jestjs/jest/tree/HEAD/packages/jest-runtime) | `29.7.0` | `30.0.0` |\n| [jest-snapshot](https://github.com/jestjs/jest/tree/HEAD/packages/jest-snapshot) | `29.7.0` | `30.0.0` |\n| [jest-validate](https://github.com/jestjs/jest/tree/HEAD/packages/jest-validate) | `29.7.0` | `30.0.0` |\n| [jest-watcher](https://github.com/jestjs/jest/tree/HEAD/packages/jest-watcher) | `29.7.0` | `30.0.0` |\n| [normalize-url](https://github.com/sindresorhus/normalize-url) | `8.0.1` | `8.0.2` |\n| [pure-rand](https://github.com/dubzzz/pure-rand) | `6.1.0` | `7.0.1` |\n| [undici-types](https://github.com/nodejs/undici) | `6.21.0` | `7.8.0` |\n\nUpdates `@jest/types` from 29.6.3 to 30.0.0\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\u003ccode\u003e@​jest/types\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​jest/types\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e30.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/8a58fde2cccde1284c32ddaeda7cb1188716ca78\"\u003e\u003ccode\u003e8a58fde\u003c/code\u003e\u003c/a\u003e Rename some options before releasing Jest 30.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a94c6d03256764335bddc160f046727e07346761\"\u003e\u003ccode\u003ea94c6d0\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-types/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/a123a3b667a178fb988662aaa1bc6308af759017\"\u003e\u003ccode\u003ea123a3b\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ca9c8835e3c74ec17450cac43c7cd3e8bb5747b2\"\u003e\u003ccode\u003eca9c883\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/57a0ef18037e7c9d1e6787477d85426787697389\"\u003e\u003ccode\u003e57a0ef1\u003c/code\u003e\u003c/a\u003e chore!: drop support for node.js version 16 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest-types/issues/15623\"\u003e#15623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest-types\"\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/~cpojer\"\u003ecpojer\u003c/a\u003e, a new releaser for \u003ccode\u003e@​jest/types\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.33.1 to 8.34.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.34.0\u003c/h2\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e deprecated getSourceFileOfNode function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11284\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e change the token type of \u003ccode\u003enull\u003c/code\u003e from \u003ccode\u003eKeyword\u003c/code\u003e to \u003ccode\u003eNull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11283\"\u003e#11283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evisitor-keys:\u003c/strong\u003e fix visitor keys order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11279\"\u003e#11279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKim Sang Du \u003ca href=\"https://github.com/developer-bandi\"\u003e\u003ccode\u003e@​developer-bandi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8208974140a1e658e5234435836476642e9a56e1\"\u003e\u003ccode\u003e8208974\u003c/code\u003e\u003c/a\u003e docs: rename \u0026quot;directive comments\u0026quot; to \u0026quot;comment directives\u0026quot; (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11268\"\u003e#11268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/685e530478362c9e5a43db01aadc200a361cbc6f\"\u003e\u003ccode\u003e685e530\u003c/code\u003e\u003c/a\u003e fix(typescript-estree): add validation to interface extends (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0f5c59c1b116ced6aaff7b2c632f924b2ca49596\"\u003e\u003ccode\u003e0f5c59c\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): [prefer-optional-chain] fix comment placement (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/11269\"\u003e#11269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.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.33.1 to 8.34.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.34.0\u003c/h2\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e deprecated getSourceFileOfNode function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11284\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e change the token type of \u003ccode\u003enull\u003c/code\u003e from \u003ccode\u003eKeyword\u003c/code\u003e to \u003ccode\u003eNull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11283\"\u003e#11283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evisitor-keys:\u003c/strong\u003e fix visitor keys order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11279\"\u003e#11279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKim Sang Du \u003ca href=\"https://github.com/developer-bandi\"\u003e\u003ccode\u003e@​developer-bandi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\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\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jest` from 29.7.0 to 30.0.0\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\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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.0.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14710\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove deprecated \u003ccode\u003ejest.genMockFromModule()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15042\"\u003e#15042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Remove unnecessary defensive code (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15045\"\u003e#15045\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-jsdom]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade JSDOM to v22 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13825\"\u003e#13825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/environment-jsdom-abstract]\u003c/code\u003e Introduce new package which abstracts over the \u003ccode\u003ejsdom\u003c/code\u003e environment, allowing usage of custom versions of JSDOM (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14717\"\u003e#14717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-environment-node]\u003c/code\u003e Update jest environment with dispose symbols \u003ccode\u003eSymbol\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14888\"\u003e#14888\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14909\"\u003e#14909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect, @jest/expect]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add type inference for function parameters in \u003ccode\u003eCalledWith\u003c/code\u003e assertions (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15129\"\u003e#15129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/expect-utils]\u003c/code\u003e Properly compare all types of \u003ccode\u003eTypedArray\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15178\"\u003e#15178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Upgrade \u003ccode\u003e@sinonjs/fake-timers\u003c/code\u003e to v13 (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14544\"\u003e#14544\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15470\"\u003e#15470\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/fake-timers]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003eadvanceTimersToFrame()\u003c/code\u003e which advances all timers by the needed milliseconds to execute callbacks currently scheduled with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-matcher-utils]\u003c/code\u003e Add \u003ccode\u003eSERIALIZABLE_PROPERTIES\u003c/code\u003e to allow custom serialization of objects (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14893\"\u003e#14893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-mock]\u003c/code\u003e Add support for the Explicit Resource Management proposal to use the \u003ccode\u003eusing\u003c/code\u003e keyword with \u003ccode\u003ejest.spyOn(object, methodName)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14895\"\u003e#14895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-reporters]\u003c/code\u003e Add support for \u003ca href=\"https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036\"\u003eDEC mode 2026\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15008\"\u003e#15008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolver]\u003c/code\u003e Support \u003ccode\u003efile://\u003c/code\u003e URLs as paths (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15154\"\u003e#15154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-resolve,jest-runtime,jest-resolve-dependencies]\u003c/code\u003e Pass the conditions when resolving stub modules (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15489\"\u003e#15489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Exposing new modern timers function \u003ccode\u003ejest.advanceTimersToFrame()\u003c/code\u003e from \u003ccode\u003e@jest/fake-timers\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14598\"\u003e#14598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.filename\u003c/code\u003e and \u003ccode\u003eimport.meta.dirname\u003c/code\u003e (available from \u003ca href=\"https://nodejs.org/en/blog/release/v20.11.0\"\u003eNode 20.11\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14854\"\u003e#14854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Support \u003ccode\u003eimport.meta.resolve\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14930\"\u003e#14930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Make it mandatory to pass \u003ccode\u003eglobalConfig\u003c/code\u003e to the \u003ccode\u003eRuntime\u003c/code\u003e constructor (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15044\"\u003e#15044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eunstable_unmockModule\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15080\"\u003e#15080\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e Add \u003ccode\u003eonGenerateMock\u003c/code\u003e transformer callback for auto generated callbacks (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15433\"\u003e#15433\u003c/a\u003e \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15482\"\u003e#15482\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-runtime]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Use \u003ccode\u003evm.compileFunction\u003c/code\u003e over \u003ccode\u003evm.Script\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15461\"\u003e#15461\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/a383155cd5af4539b3c447cfa7184462ee32f418\"\u003e\u003ccode\u003ea383155\u003c/code\u003e\u003c/a\u003e v30.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ce14203d9156f830a8e24a6e3e8205f670a72a40\"\u003e\u003ccode\u003ece14203\u003c/code\u003e\u003c/a\u003e v30.0.0-rc.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/0ab14ba85dc7bb4fa72c062c64b039d779d77d26\"\u003e\u003ccode\u003e0ab14ba\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/ac334c0cdf04ead9999f0964567d81672d116d42\"\u003e\u003ccode\u003eac334c0\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/7c799e579e8fd839b7521c6de6b55127795634dc\"\u003e\u003ccode\u003e7c799e5\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/4f964497dc21c06ce4d54f1349e299a9f6773d52\"\u003e\u003ccode\u003e4f96449\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/286dc4a3986e354e212ce193501895c206284952\"\u003e\u003ccode\u003e286dc4a\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/76632c6ec3f56708ec5781158972a295d0cc9332\"\u003e\u003ccode\u003e76632c6\u003c/code\u003e\u003c/a\u003e chore: drop node 23 (\u003ca href=\"https://github.com/jestjs/jest/tree/HEAD/packages/jest/issues/15640\"\u003e#15640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/69f0c890c804e6e6b0822adb592cd00372a7c297\"\u003e\u003ccode\u003e69f0c89\u003c/code\u003e\u003c/a\u003e v30.0.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jestjs/jest/commit/2950cbbdc18614f35a7cc1a8b59dbc283bde9315\"\u003e\u003ccode\u003e2950cbb\u003c/code\u003e\u003c/a\u003e Update deps.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jestjs/jest/commits/v30.0.0/packages/jest\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.33.1 to 8.34.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.34.0\u003c/h2\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e deprecated getSourceFileOfNode function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11284\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e change the token type of \u003ccode\u003enull\u003c/code\u003e from \u003ccode\u003eKeyword\u003c/code\u003e to \u003ccode\u003eNull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11283\"\u003e#11283\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add validation to interface extends (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11271\"\u003e#11271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evisitor-keys:\u003c/strong\u003e fix visitor keys order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11279\"\u003e#11279\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKim Sang Du \u003ca href=\"https://github.com/developer-bandi\"\u003e\u003ccode\u003e@​developer-bandi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eTao\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/typescript-eslint/CHANGELOG.md\"\u003etypescript-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.34.0 (2025-06-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for typescript-eslint to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://main--typescript-eslint.netlify.app/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://main--typescript-eslint.netlify.app/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/8915a477608892596fc6ed2bc45dbbac7f41a361\"\u003e\u003ccode\u003e8915a47\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.34.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.34.0/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jest/console` from 29.7.0 to 30.0.0\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\u003ccode\u003e@​jest/console\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eJest 30\u003c/h2\u003e\n\u003cp\u003eToday we are happy to announce the release of Jest 30. This release features a substantial number of changes, fixes, and improvements. While it is one of the largest major releases of Jest ever, we admit that three years for a major release is too long. In the future, we are aiming to make more frequent major releases to keep Jest great for the next decade.\u003c/p\u003e\n\u003cp\u003eIf you want to skip all the news and just get going, run \u003ccode\u003enpm install jest@^30.0.0\u003c/code\u003e and follow the migration guide: \u003ca href=\"https://jestjs.io/docs/upgrading-to-jest30\"\u003eUpgrading from Jest 29 to 30\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://jestjs.io/blog/2025/06/04/jest-30\"\u003eRead the full blog post\u003c/a\u003e\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[*]\u003c/code\u003e Renamed \u003ccode\u003eglobalsCleanupMode\u003c/code\u003e to \u003ccode\u003eglobalsCleanup\u003c/code\u003e and \u003ccode\u003e--waitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e to \u003ccode\u003e--waitForUnhandledRejections\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Add \u003ccode\u003eArrayOf\u003c/code\u003e asymmetric matcher for validating array elements. (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15567\"\u003e#15567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[babel-jest]\u003c/code\u003e Add option \u003ccode\u003eexcludeJestPreset\u003c/code\u003e to allow opting out of \u003ccode\u003ebabel-preset-jest\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15164\"\u003e#15164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[expect]\u003c/code\u003e Revert \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15038\"\u003e#15038\u003c/a\u003e to fix \u003ccode\u003eexpect(fn).toHaveBeenCalledWith(expect.objectContaining(...))\u003c/code\u003e when there are multiple calls (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15508\"\u003e#15508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-cli, jest-config]\u003c/code\u003e Add \u003ccode\u003ewaitNextEventLoopTurnForUnhandledRejectionEvents\u003c/code\u003e flag to minimise performance impact of correct detection of unhandled promise rejections introduced in \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14315\"\u003e#14315\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14681\"\u003e#14681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003ewaitBeforeRetry\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14738\"\u003e#14738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus]\u003c/code\u003e Add a \u003ccode\u003eretryImmediately\u003c/code\u003e option to \u003ccode\u003ejest.retryTimes\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14696\"\u003e#14696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-jasmine2]\u003c/code\u003e Allow \u003ccode\u003esetupFilesAfterEnv\u003c/code\u003e to export an async function (\u003ca href=\"https://redirect.github.com/jestjs/jest/issues/10962\"\u003e#10962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-circus, jest-test-result]\u003c/code\u003e Add \u003ccode\u003estartedAt\u003c/code\u003e timestamp in \u003ccode\u003eTestCaseResultObject\u003c/code\u003e within \u003ccode\u003eonTestCaseResult\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15145\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-cli]\u003c/code\u003e Export \u003ccode\u003ebuildArgv\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/15310\"\u003e#15310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003emts\u003c/code\u003e and \u003ccode\u003ects\u003c/code\u003e to default \u003ccode\u003emoduleFileExtensions\u003c/code\u003e config (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14369\"\u003e#14369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Update \u003ccode\u003etestMatch\u003c/code\u003e and \u003ccode\u003etestRegex\u003c/code\u003e default option for supporting \u003ccode\u003emjs\u003c/code\u003e, \u003ccode\u003ecjs\u003c/code\u003e, \u003ccode\u003emts\u003c/code\u003e, and \u003ccode\u003ects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14584\"\u003e#14584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Loads config file from provided path in \u003ccode\u003epackage.json\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14044\"\u003e#14044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow loading \u003ccode\u003ejest.config.cts\u003c/code\u003e files (\u003ca href=\"https://redirect.github.com/facebook/jest/pull/14070\"\u003e#14070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Show \u003ccode\u003erootDir\u003c/code\u003e in error message when a \u003ccode\u003epreset\u003c/code\u003e fails to load (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15194\"\u003e#15194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Support loading TS config files using \u003ccode\u003eesbuild-register\u003c/code\u003e via docblock loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15190\"\u003e#15190\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e Allow passing TS config loader options via docblock comment (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15234\"\u003e#15234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-config]\u003c/code\u003e If Node is running with type stripping enabled, do not require a TS loader (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15480\"\u003e#15480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Group together open handles with the same stack trace (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13417\"\u003e#13417\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14789\"\u003e#14789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Add \u003ccode\u003eperfStats\u003c/code\u003e to surface test setup overhead (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14622\"\u003e#14622\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Changed \u003ccode\u003e--filter\u003c/code\u003e to accept an object with shape \u003ccode\u003e{ filtered: Array\u0026lt;string\u0026gt; }\u003c/code\u003e to match \u003ca href=\"https://jestjs.io/docs/cli#--filterfile\"\u003edocumentation\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/13319\"\u003e#13319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Support \u003ccode\u003e--outputFile\u003c/code\u003e option for \u003ca href=\"https://jestjs.io/docs/cli#--listtests\"\u003e\u003ccode\u003e--listTests\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14980\"\u003e#14980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core]\u003c/code\u003e Stringify Errors properly with \u003ccode\u003e--json\u003c/code\u003e flag (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/15329\"\u003e#15329\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[@jest/core, @jest/test-sequencer]\u003c/code\u003e [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Exposes \u003ccode\u003eglobalConfig\u003c/code\u003e \u0026amp; \u003ccode\u003econtexts\u003c/code\u003e to \u003ccode\u003eTestSequencer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14535\"\u003e#14535\u003c/a\u003e, \u0026amp; \u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14543\"\u003e#14543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[jest-each]\u003c/code\u003e Introduce \u003ccode\u003e%$\u003c/code\u003e option to add number of the test to its title (\u003ca href=\"https://redirect.github.com/jestjs/jest/pull/14710\"\u003e#14...\n\n_Description has been truncated_","html_url":"https://github.com/mattfsourcecode/node-graphql-code-test/pull/200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattfsourcecode%2Fnode-graphql-code-test/issues/200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/200/packages"}}]}