{"id":868,"name":"eslint-plugin-n","ecosystem":"npm","repository_url":"https://github.com/eslint-community/eslint-plugin-n","issues_count":6416,"created_at":"2025-06-06T15:01:38.353Z","updated_at":"2025-06-06T15:01:38.353Z","purl":"pkg:npm/eslint-plugin-n","metadata":{"id":1685748,"name":"eslint-plugin-n","ecosystem":"npm","description":"Additional ESLint's rules for Node.js","homepage":"https://github.com/eslint-community/eslint-plugin-n#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/eslint-community/eslint-plugin-n","keywords_array":["eslint","eslintplugin","eslint-plugin","node","nodejs","ecmascript","shebang","file","path","import","require"],"namespace":null,"versions_count":73,"first_release_published_at":"2021-12-17T07:08:45.709Z","latest_release_published_at":"2025-06-02T11:05:26.617Z","latest_release_number":"17.19.0","last_synced_at":"2025-06-05T03:01:15.432Z","created_at":"2022-04-09T15:00:52.578Z","updated_at":"2025-06-05T03:01:15.432Z","registry_url":"https://www.npmjs.com/package/eslint-plugin-n","install_command":"npm install eslint-plugin-n","documentation_url":null,"metadata":{"funding":"https://opencollective.com/eslint","dist-tags":{"next":"17.0.0-8","latest":"17.19.0"}},"repo_metadata":{"id":37830411,"uuid":"93131028","full_name":"eslint-community/eslint-plugin-n","owner":"eslint-community","description":"Additional ESLint rules for Node.js","archived":false,"fork":true,"pushed_at":"2024-04-11T08:47:52.000Z","size":1674,"stargazers_count":167,"open_issues_count":24,"forks_count":29,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-12T12:01:00.736Z","etag":null,"topics":["eslint","eslint-plugin","node","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"mysticatea/eslint-plugin-node","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eslint-community.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["mysticatea"]}},"created_at":"2017-06-02T05:42:14.000Z","updated_at":"2024-04-09T22:51:21.000Z","dependencies_parsed_at":"2023-02-10T04:30:34.237Z","dependency_job_id":null,"html_url":"https://github.com/eslint-community/eslint-plugin-n","commit_stats":{"total_commits":456,"total_committers":54,"mean_commits":8.444444444444445,"dds":"0.35526315789473684","last_synced_commit":"49d3ee780c57be2eabdb577d892e2f2430ec3888"},"previous_names":["weiran-zsd/eslint-plugin-node"],"tags_count":99,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eslint-community","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":217598216,"owners_count":16201835,"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":"eslint-community","name":"ESLint Community","uuid":"94557945","kind":"organization","description":"Community repos for ESLint related projects","email":null,"website":"https://eslint.org","location":null,"twitter":"geteslint","company":null,"icon_url":"https://avatars.githubusercontent.com/u/94557945?v=4","repositories_count":11,"last_synced_at":"2023-03-05T22:03:26.527Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/eslint-community","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T23:40:43.685Z","updated_at":"2023-03-05T22:03:26.548Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eslint-community","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eslint-community/repositories"},"tags":[{"name":"v17.0.0-4","sha":"b7c6409f58e092a54898fabe30242bf1f956fa88","kind":"commit","published_at":"2024-03-06T10:23:48.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v17.0.0-4","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v17.0.0-4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v17.0.0-4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v17.0.0-4/manifests"},{"name":"17.0.0-3","sha":"7d44c5a9ce784789a9345742d5355639ad4fd9c5","kind":"tag","published_at":"2024-02-23T03:18:46.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/17.0.0-3","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/17.0.0-3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-3/manifests"},{"name":"17.0.0-2","sha":"0e1160aca2fb3e35d71b5f8a9001c9ffcf163d6b","kind":"tag","published_at":"2024-02-22T10:06:35.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/17.0.0-2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/17.0.0-2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-2/manifests"},{"name":"17.0.0-1","sha":"b83f9b3cd50eb62c73f7d0b82b6ff534a910776a","kind":"tag","published_at":"2024-02-07T03:18:05.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/17.0.0-1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/17.0.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-1/manifests"},{"name":"17.0.0-0","sha":"9613f9b3c410b2a7b6f1d8044c4bec961af5dd53","kind":"tag","published_at":"2024-01-09T09:15:25.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/17.0.0-0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/17.0.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/17.0.0-0/manifests"},{"name":"16.6.2","sha":"ec5badbca03b8e88c594757e4d5c391370727892","kind":"tag","published_at":"2024-01-09T03:29:25.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.6.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.6.2/manifests"},{"name":"16.6.1","sha":"bc6c53875eacdc431e2b88ba6c83095ac67d2e2f","kind":"tag","published_at":"2024-01-02T02:45:45.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.6.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.6.1/manifests"},{"name":"16.6.0","sha":"0ab0f41ed7c439c64c91f84d87143aba49e10b65","kind":"tag","published_at":"2023-12-29T10:25:01.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.6.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.6.0/manifests"},{"name":"16.5.0","sha":"0c9c2f3cb07ed77f901805b4c8d9b106d8a8af52","kind":"tag","published_at":"2023-12-20T09:07:59.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.5.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.5.0/manifests"},{"name":"16.4.0","sha":"964cf65ff95a5e666037f056a6f27bfde754a758","kind":"tag","published_at":"2023-12-11T05:17:34.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.4.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.4.0/manifests"},{"name":"16.3.1","sha":"deeb998c04b9481ad8e17f94b22248cdf74f0cf4","kind":"tag","published_at":"2023-11-10T10:09:57.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.3.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.3.1/manifests"},{"name":"16.3.0","sha":"5343efd80be3fd43e39aeccdec16db18a8f462ce","kind":"tag","published_at":"2023-11-07T06:26:25.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.3.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.3.0/manifests"},{"name":"16.2.0","sha":"f9dbe21b55df7f6658229d61381715dfc2d275d0","kind":"tag","published_at":"2023-10-11T08:50:45.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.2.0/manifests"},{"name":"16.1.0","sha":"47cd9a6a0e360d10d50e27a01123169dec00d40b","kind":"tag","published_at":"2023-09-11T03:08:45.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.1.0/manifests"},{"name":"16.0.2","sha":"d7bf4e1e1058a571170b9b5ed42a1bb4b4624ce3","kind":"tag","published_at":"2023-08-22T02:31:25.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.0.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.2/manifests"},{"name":"16.0.1","sha":"23ae4756e8e8cb988f41a6177fabba79751d55b2","kind":"tag","published_at":"2023-06-25T08:52:42.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.1/manifests"},{"name":"16.0.0","sha":"239be7d06b4220df53f8714ac8db73733eb08f99","kind":"tag","published_at":"2023-05-16T02:06:13.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.0/manifests"},{"name":"16.0.0-1","sha":"bea9981a3993b239e51125c3b22e2534fe8d0496","kind":"tag","published_at":"2023-05-10T11:51:24.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.0.0-1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.0.0-1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.0-1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.0-1/manifests"},{"name":"16.0.0-0","sha":"d74040c35bb7e234a822af0e4741359537a52409","kind":"tag","published_at":"2023-05-10T05:55:44.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/16.0.0-0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/16.0.0-0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.0-0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/16.0.0-0/manifests"},{"name":"15.7.0","sha":"1546dc6d733f7a3d3fb3b82650a20ac145a43573","kind":"tag","published_at":"2023-03-29T03:42:21.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.7.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.7.0/manifests"},{"name":"15.6.1","sha":"2ce285db073df4669e64d4ebf4e7179dd4d2a13e","kind":"tag","published_at":"2023-01-11T03:52:45.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.6.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.6.1/manifests"},{"name":"15.6.0","sha":"f5267e7e4c06cddf026f152304b48d0f1b404414","kind":"tag","published_at":"2022-12-05T07:56:43.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.6.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.6.0/manifests"},{"name":"15.5.2","sha":"ed988f9835c76c17b6359b1990634b3987e0d6b5","kind":"tag","published_at":"2022-12-05T03:33:42.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.5.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.5.2/manifests"},{"name":"15.5.1","sha":"54c5e52813188dc712042df7047e2b211ff44da1","kind":"tag","published_at":"2022-11-09T07:14:33.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.5.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.5.1/manifests"},{"name":"15.5.0","sha":"bcdd15ff9c43d9a87250b59b8c4efa723acb5a02","kind":"tag","published_at":"2022-11-06T02:50:08.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.5.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.5.0/manifests"},{"name":"15.4.0","sha":"162430bb17d968b2f094e5583bb8cd0ef262af5d","kind":"tag","published_at":"2022-10-31T07:09:50.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.4.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.4.0/manifests"},{"name":"15.3.0","sha":"3e273edb412874df1d61b06bdf537d8765e7c305","kind":"tag","published_at":"2022-09-22T03:23:15.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.3.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.3.0/manifests"},{"name":"15.2.5","sha":"a6a31bbd4fcf4bceff11d383f851cd9d9b7ce05b","kind":"tag","published_at":"2022-08-22T02:38:36.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.2.5","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.5/manifests"},{"name":"15.2.4","sha":"a76638206cb6a92c2f8777128a0e9ca5c48aec12","kind":"tag","published_at":"2022-07-04T03:16:23.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.2.4","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.4/manifests"},{"name":"15.2.3","sha":"793a48b8c1c86f5927b2ea5d30cd5509ff451031","kind":"tag","published_at":"2022-06-16T02:35:26.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.2.3","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.3/manifests"},{"name":"15.2.2","sha":"ee28ab6238aef754aab3086a7ab7448f42e373b6","kind":"tag","published_at":"2022-06-09T02:49:21.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.2.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.2/manifests"},{"name":"15.2.1","sha":"592869528b1e6e3278603ea00696000019c22114","kind":"tag","published_at":"2022-06-02T02:41:35.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.2.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.1/manifests"},{"name":"15.2.0","sha":"cb4f099ae928d627abfc635966622cf4266a7b1c","kind":"tag","published_at":"2022-04-25T02:39:25.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.2.0/manifests"},{"name":"15.1.0","sha":"e0cc72333ea148849fe38f82b61b52cf5021504c","kind":"tag","published_at":"2022-03-24T02:31:18.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.1.0/manifests"},{"name":"15.0.1","sha":"b81473598e79deef83f4783e5c28aaa00f1680b4","kind":"tag","published_at":"2022-02-23T08:29:35.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.0.1/manifests"},{"name":"15.0.0","sha":"26448e08477ef1d6b55f304609bf038a0a970a3f","kind":"tag","published_at":"2022-02-23T02:19:29.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/15.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/15.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/15.0.0/manifests"},{"name":"14.0.0","sha":"508479d30437ec9c2fa01b34756467fbaa55f83b","kind":"tag","published_at":"2021-12-17T07:08:50.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/14.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/14.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/14.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/14.0.0/manifests"},{"name":"13.0.1","sha":"e31a6e11835ea5736fddea1b66bb6d92ff84233a","kind":"tag","published_at":"2021-11-30T07:20:11.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/13.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/13.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/13.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/13.0.1/manifests"},{"name":"13.0.0","sha":"defa2ce6baf4554ae219d97165364a7ae950e87f","kind":"tag","published_at":"2021-11-29T11:40:45.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/13.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/13.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/13.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/13.0.0/manifests"},{"name":"12.0.0","sha":"a7a03c80e877fa15b6e546de72dc787882ef803c","kind":"tag","published_at":"2021-10-28T07:33:38.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/12.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/12.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/12.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/12.0.0/manifests"},{"name":"ls","sha":"c2580a64dcac9e54a0659d27777ae878406763fc","kind":"commit","published_at":"2021-10-28T07:18:56.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/ls","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/ls","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/ls","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/ls/manifests"},{"name":"v11.1.0","sha":"4a348e7d24e0d806d7873f293c91a922d0316d14","kind":"tag","published_at":"2020-03-28T11:42:39.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v11.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v11.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v11.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v11.1.0/manifests"},{"name":"v11.0.0","sha":"b8f99452c0e1a808af7aa349d417dca0837e3a67","kind":"tag","published_at":"2019-12-26T11:44:53.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v11.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v11.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v11.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v11.0.0/manifests"},{"name":"v10.0.0","sha":"dc067a116ca14ae9c23b2f6aec63f416d2abf2c7","kind":"tag","published_at":"2019-09-05T02:42:59.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v10.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v10.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v10.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v10.0.0/manifests"},{"name":"v9.2.0","sha":"9fbdaec1147498081428f20ceeac90ad44629856","kind":"tag","published_at":"2019-08-29T10:07:01.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v9.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v9.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.2.0/manifests"},{"name":"v9.1.0","sha":"7ce77f9393151dbbd11b70a360cc67458faceb8b","kind":"tag","published_at":"2019-05-23T10:15:40.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v9.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v9.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.1.0/manifests"},{"name":"v9.0.1","sha":"bc02c52f8199d7c55e69d54628f8be397d4986f4","kind":"tag","published_at":"2019-05-04T01:24:10.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v9.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v9.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.0.1/manifests"},{"name":"v9.0.0","sha":"a84a00975bb88215a1e75482e31217d721023c3e","kind":"tag","published_at":"2019-05-03T08:00:01.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v9.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v9.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v9.0.0/manifests"},{"name":"v8.0.1","sha":"b234dcc6a653f8b74fbf1f2773b71bcb06b7b255","kind":"tag","published_at":"2019-01-04T16:42:59.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v8.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v8.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v8.0.1/manifests"},{"name":"v8.0.0","sha":"932836b5a97e33c35ada5af0d3dd2d5ba1e2307b","kind":"tag","published_at":"2018-10-27T22:31:03.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v8.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v8.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v8.0.0/manifests"},{"name":"v7.0.1","sha":"a4a7ad2388afd423ffd0a98ed11b0a0144fd81f7","kind":"tag","published_at":"2018-07-17T12:25:24.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v7.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v7.0.1/manifests"},{"name":"v7.0.0","sha":"890ee63e98ef95ec5a27f50f42188102526d81b1","kind":"tag","published_at":"2018-07-17T09:04:09.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v7.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v7.0.0/manifests"},{"name":"v7.0.0-beta.0","sha":"7137055892e5c89441dc57aa97eff5bc20c3f312","kind":"tag","published_at":"2018-07-16T12:16:06.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v7.0.0-beta.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v7.0.0-beta.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v7.0.0-beta.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v7.0.0-beta.0/manifests"},{"name":"v6.0.1","sha":"5260039c77fd7e6368c1a5808f90462e5beec6f3","kind":"tag","published_at":"2018-02-23T09:36:28.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v6.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v6.0.1/manifests"},{"name":"v6.0.0","sha":"bbf4b6032705d446cd3532c92649fdc2894da9d1","kind":"tag","published_at":"2018-02-05T09:04:53.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v6.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v6.0.0/manifests"},{"name":"v5.2.1","sha":"ad1f15a02940f4f6eae73b8ffc832742796e515b","kind":"tag","published_at":"2017-10-23T07:06:27.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v5.2.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v5.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.2.1/manifests"},{"name":"v5.2.0","sha":"7189722f39fad951fd2b9a5a744d9f6fe328f324","kind":"tag","published_at":"2017-09-28T12:34:17.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v5.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.2.0/manifests"},{"name":"v5.1.1","sha":"3045e95158f2cbc03f210de84693772f43a3a159","kind":"tag","published_at":"2017-07-19T00:43:18.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v5.1.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"af4737e6f564ca3ee695aede4279bbfbb3131b7c","kind":"tag","published_at":"2017-06-25T20:43:04.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v5.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.1.0/manifests"},{"name":"v5.0.0","sha":"5634718d468a69e2aea53988341721a37e8fcb4c","kind":"tag","published_at":"2017-06-02T02:53:49.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v5.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v5.0.0/manifests"},{"name":"v4.2.2","sha":"f1a137b1250cd457cd9dfdf0bf851d1efa0ce2fa","kind":"tag","published_at":"2017-03-28T10:59:23.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v4.2.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.2.2/manifests"},{"name":"v4.2.1","sha":"fb3f030999802299120bddbba713a8476bef75ba","kind":"tag","published_at":"2017-03-14T09:30:52.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v4.2.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"242eeeba3e45904b079e412bc376d364c1068018","kind":"tag","published_at":"2017-03-06T20:16:54.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v4.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.2.0/manifests"},{"name":"v4.1.0","sha":"3f03d921f4182174f5816c1349d15a3dc8aacf58","kind":"tag","published_at":"2017-02-23T09:13:02.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v4.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.1.0/manifests"},{"name":"v4.0.1","sha":"1c12caed07be80715f1fc53d9f29cfacc18e66c3","kind":"tag","published_at":"2017-02-09T08:50:33.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v4.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.0.1/manifests"},{"name":"v4.0.0","sha":"5fdb19a00ef22dd6e1c65b7eff765e41ec7b9adc","kind":"tag","published_at":"2017-02-05T19:52:23.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v4.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v4.0.0/manifests"},{"name":"v3.0.5","sha":"8fd03edb89bb04ced5ffd137d274f716f73a35ce","kind":"tag","published_at":"2016-12-01T02:33:51.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v3.0.5","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v3.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.5/manifests"},{"name":"v3.0.4","sha":"0714d40938e282bbf44d1271dab95d2404edb1ab","kind":"tag","published_at":"2016-11-18T14:20:05.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v3.0.4","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v3.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.4/manifests"},{"name":"v3.0.3","sha":"cb96b1466e0138bdfef8eb85310c4c69ac8c0fa4","kind":"tag","published_at":"2016-11-01T11:19:57.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v3.0.3","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v3.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.3/manifests"},{"name":"v3.0.2","sha":"77d0c76339e8f0ce301eba01f64eac9ef63265b9","kind":"tag","published_at":"2016-11-01T09:42:23.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v3.0.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v3.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.2/manifests"},{"name":"v2.1.4","sha":"49f752bbb25affea5434a28940aaea88acd8e7ab","kind":"tag","published_at":"2016-11-01T09:29:11.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v2.1.4","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v2.1.4","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.4/manifests"},{"name":"v3.0.1","sha":"6bbee16659a31dfb566321172bd1d6fa6f63f2a2","kind":"tag","published_at":"2016-11-01T09:06:03.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v3.0.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"34928aa0c62eaa083bb5b2f3645be07065c16d83","kind":"tag","published_at":"2016-10-31T11:41:23.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v3.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v3.0.0/manifests"},{"name":"v2.1.3","sha":"b0618d4a21a5ce5303f58e125f28705d4d3f7b47","kind":"tag","published_at":"2016-10-15T10:12:43.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v2.1.3","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v2.1.3","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.3/manifests"},{"name":"v2.1.2","sha":"b3cec7f1324af8249fbe036c88c175a2f24e669a","kind":"tag","published_at":"2016-09-29T10:11:48.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v2.1.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v2.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.2/manifests"},{"name":"v2.1.1","sha":"06231d4c5ddb4bef203ece2970b5e6fa9592455d","kind":"tag","published_at":"2016-09-26T02:02:29.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v2.1.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v2.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.1/manifests"},{"name":"v2.1.0","sha":"8788242783a299546e3fc64a969ec4ad2ed3722b","kind":"tag","published_at":"2016-09-25T08:22:38.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v2.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v2.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.1.0/manifests"},{"name":"v2.0.0","sha":"9efa7f3e98df43e9f802781a9785d6cc0fa132be","kind":"tag","published_at":"2016-07-03T14:50:34.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v2.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v2.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v2.0.0/manifests"},{"name":"v1.5.2","sha":"a7f3846c6984fc71379ce245dbc38ea0f62df801","kind":"tag","published_at":"2016-07-02T12:34:52.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.5.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.5.2/manifests"},{"name":"v1.5.1","sha":"413c23dbefa534bf3b1e0761a3e035b8966e5c20","kind":"tag","published_at":"2016-06-23T10:13:05.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.5.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.5.1/manifests"},{"name":"v1.5.0","sha":"42fd1c8756520660d4e0508f67e80906fc7ece4a","kind":"tag","published_at":"2016-06-17T04:16:18.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.5.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.5.0/manifests"},{"name":"v1.4.0","sha":"1e0d9da3f496e27be5109d2efb76f53efc929316","kind":"tag","published_at":"2016-05-21T23:02:26.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.4.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.4.0/manifests"},{"name":"v1.3.0","sha":"fdfb0e9897a395cc7b020532d0cb8e5415945c41","kind":"tag","published_at":"2016-05-14T11:19:34.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.3.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.3.0/manifests"},{"name":"v1.2.2","sha":"2201894f9abd3c039b32eb0d87b238ee87220a4c","kind":"tag","published_at":"2016-05-13T13:04:06.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.2.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.2.2/manifests"},{"name":"v1.2.1","sha":"f0265444585a292bd426cce290550bbd25f81581","kind":"tag","published_at":"2016-05-05T16:32:56.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.2.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.2.1/manifests"},{"name":"v1.2.0","sha":"15c9335be034b5bbb023eb7c0104a1e7aee6e846","kind":"tag","published_at":"2016-05-05T16:19:31.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.2.0/manifests"},{"name":"v1.1.0","sha":"198837c223fc44edbeef366bbea8c3dfb4d784b2","kind":"commit","published_at":"2016-04-27T12:57:46.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.1.0/manifests"},{"name":"v1.0.0","sha":"2ebe566fffc78cf515f02e36d226bc133eefcba1","kind":"tag","published_at":"2016-02-13T08:53:22.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v1.0.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v1.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v1.0.0/manifests"},{"name":"v0.6.2","sha":"a42c736142c28a9d9346ad2f981d3301d58d9c1c","kind":"tag","published_at":"2016-02-01T06:02:52.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.6.2","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.6.2/manifests"},{"name":"v0.6.1","sha":"3680f0e59b429028c2cb29ce52a51a68cbb43ff6","kind":"tag","published_at":"2016-01-30T22:04:11.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.6.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.6.1/manifests"},{"name":"v0.6.0","sha":"0cb67963a9e696c6b2315293fd865acb387f9a58","kind":"tag","published_at":"2016-01-24T02:43:03.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.6.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.6.0/manifests"},{"name":"v0.5.1","sha":"b32337877e69e4dec9bae8bab94df893ea9e1464","kind":"tag","published_at":"2016-01-17T17:58:54.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.5.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.5.1/manifests"},{"name":"v0.5.0","sha":"900e64eb03bdce408c3ba59da798ea9a08dd1d8c","kind":"tag","published_at":"2016-01-16T13:55:55.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.5.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.5.0/manifests"},{"name":"v0.4.1","sha":"43442a74fd627a43abc4ed388fffa516080de6e4","kind":"tag","published_at":"2016-01-09T21:36:53.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.4.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.4.1/manifests"},{"name":"v0.4.0","sha":"9e373e2e7a08b0b7bb26d16a9fbf87c23f9a8802","kind":"tag","published_at":"2016-01-09T18:46:08.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.4.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"483bb4edf749a448ff1032a2b4bcf1fc157772e2","kind":"tag","published_at":"2015-12-28T11:20:20.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.3.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.3.0/manifests"},{"name":"v0.2.1","sha":"0cd062316b1e819102bfb7f4e822534d1385376c","kind":"tag","published_at":"2015-12-15T08:27:14.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.2.1","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"77cb1634d835662c72b35c823724b71f87baee8a","kind":"tag","published_at":"2015-11-28T13:48:52.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.2.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"14d6b459ce4358062be16c5fc75c7abfb007a33e","kind":"tag","published_at":"2015-11-27T13:21:06.000Z","download_url":"https://codeload.github.com/eslint-community/eslint-plugin-n/tar.gz/v0.1.0","html_url":"https://github.com/eslint-community/eslint-plugin-n/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eslint-community%2Feslint-plugin-n/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2024-09-08T02:11:58.145Z","dependent_packages_count":8503,"downloads":16293725,"downloads_period":"last-month","dependent_repos_count":42702,"rankings":{"downloads":0.11105476440175895,"dependent_repos_count":0.15346868554559584,"dependent_packages_count":0.017248992658828725,"stargazers_count":4.805607759247623,"forks_count":5.129373947703184,"docker_downloads_count":0.05456431344409487,"average":1.711886410500181},"purl":"pkg:npm/eslint-plugin-n","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/eslint-plugin-n","docker_dependents_count":1046,"docker_downloads_count":2349162408,"usage_url":"https://repos.ecosyste.ms/usage/npm/eslint-plugin-n","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/eslint-plugin-n/dependencies","status":null,"funding_links":["https://opencollective.com/eslint","https://github.com/sponsors/mysticatea"],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/eslint-plugin-n/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/eslint-plugin-n/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/eslint-plugin-n/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/eslint-plugin-n/related_packages","maintainers":[{"uuid":"weiran.zsd","login":"weiran.zsd","name":null,"email":"weiran.zsd@outlook.com","url":null,"packages_count":24,"html_url":"https://www.npmjs.com/~weiran.zsd","role":null,"created_at":"2022-11-20T16:01:18.129Z","updated_at":"2022-11-20T16:01:18.129Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/weiran.zsd/packages"},{"uuid":"eslint-community-bot","login":"eslint-community-bot","name":null,"email":"contact+eslintcbot@eslint.org","url":null,"packages_count":19,"html_url":"https://www.npmjs.com/~eslint-community-bot","role":null,"created_at":"2022-11-20T16:01:18.165Z","updated_at":"2022-11-20T16:01:18.165Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/eslint-community-bot/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5003672,"maintainers_count":1012338,"namespaces_count":295318,"keywords_count":699769,"github":"npm","metadata":{"funded_packages_count":150180},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2025-06-05T05:52:15.849Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/namespaces"}},"unique_repositories_count":1183,"unique_repositories_count_past_30_days":35,"recent_issues":[{"uuid":"5991233776","node_id":"PR_kwDOS0vve88AAAABKKsvLg","number":338,"state":"open","title":"chore(deps-dev): bump the npm-development group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-23T03:15:57.000Z","updated_at":"2026-10-23T03:19:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"npm-development","update_count":15,"packages":[{"name":"@aws/durable-execution-sdk-js","old_version":"2.3.1","new_version":"2.7.0","repository_url":"https://github.com/aws/aws-durable-execution-sdk-js"},{"name":"@aws/durable-execution-sdk-js-testing","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/aws/aws-durable-execution-sdk-js"},{"name":"@babel/core","old_version":"8.0.6","new_version":"8.0.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-env","old_version":"8.0.6","new_version":"8.0.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-typescript","old_version":"8.0.1","new_version":"8.0.7","repository_url":"https://github.com/babel/babel"},{"name":"@next/eslint-plugin-next","old_version":"16.3.8","new_version":"16.4.2","repository_url":"https://github.com/vercel/next.js"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.71.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.71.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.11.0","new_version":"10.13.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-jest","old_version":"29.16.6","new_version":"29.17.0","repository_url":"https://github.com/jest-community/eslint-plugin-jest"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.39.0","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"prettier","old_version":"3.9.9","new_version":"3.9.10","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.64.0","new_version":"4.64.9","repository_url":"https://github.com/rollup/rollup"},{"name":"postcss","old_version":"8.5.28","new_version":"8.5.30","repository_url":"https://github.com/postcss/postcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-development group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@aws/durable-execution-sdk-js](https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js) | `2.3.1` | `2.7.0` |\n| [@aws/durable-execution-sdk-js-testing](https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js-testing) | `1.3.0` | `1.3.1` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `8.0.6` | `8.0.7` |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `8.0.6` | `8.0.7` |\n| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) | `8.0.1` | `8.0.7` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.3.8` | `16.4.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.71.0` | `8.71.2` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.71.0` | `8.71.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.13.0` |\n| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.16.6` | `29.17.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.39.0` | `6.41.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.9` | `3.9.10` |\n| [rollup](https://github.com/rollup/rollup) | `4.64.0` | `4.64.9` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.28` | `8.5.30` |\n\n\nUpdates `@aws/durable-execution-sdk-js` from 2.3.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/releases\"\u003e@​aws/durable-execution-sdk-js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk-2.7.0 / otel-1.2.0 / test-1.3.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ePackage\u003c/th\u003e\n\u003cth\u003ePublished version\u003c/th\u003e\n\u003cth\u003ePrepared version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@aws/durable-execution-sdk-js\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e2.6.0\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e2.7.0\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@aws/durable-execution-sdk-js-otel\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e1.2.0\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@aws/durable-execution-sdk-js-testing\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e1.3.0\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e1.3.1\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eThese versions are already on main through \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e. Use the exact \u003ccode\u003esdk-2.7.0\u003c/code\u003e tag for Lambda managed-runtime rollout. Package changes have separate timelines below.\u003c/p\u003e\n\u003ch1\u003e\u003ccode\u003e@​aws/durable-execution-sdk-js\u003c/code\u003e\u003c/h1\u003e\n\u003ch2\u003eWhy Upgrade\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGet consistent \u003ccode\u003ewaitForCondition\u003c/code\u003e state and results across initial execution and replay, including with custom serializers and wait strategies that mutate their input.\u003c/li\u003e\n\u003cli\u003eKeep successful \u003ccode\u003eundefined\u003c/code\u003e results from \u003ccode\u003emap\u003c/code\u003e and \u003ccode\u003eparallel\u003c/code\u003e, so batch result lists remain consistent with success counts.\u003c/li\u003e\n\u003cli\u003eImprove instrumentation accuracy with fresh completion IDs in local/custom-client invocations and clear diagnostics for conflicting OTel registrations.\u003c/li\u003e\n\u003cli\u003eEnable optional trace metadata for each new durable invoke checkpoint, without changing the application payload, using the updated Lambda client support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(sdk): preserve \u003ccode\u003eUpdatedOperationIds\u003c/code\u003e in local/custom-client invocation inputs so instrumentation can distinguish fresh external completions from replay, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/954\"\u003e#954\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(sdk): reject competing execution and invocation OTel views across supported registration paths, with diagnostics identifying the conflict, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(sdk): round-trip \u003ccode\u003ewaitForCondition\u003c/code\u003e initial state through the configured serializer before the first check, and deserialize the checkpointed success payload before returning it. Initial execution and replay now agree even when a wait strategy mutates its input, by \u003ca href=\"https://github.com/musatoktas\"\u003e\u003ccode\u003e@​musatoktas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/974\"\u003e#974\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(sdk): preserve successful \u003ccode\u003emap\u003c/code\u003e/\u003ccode\u003eparallel\u003c/code\u003e branches returning \u003ccode\u003eundefined\u003c/code\u003e in \u003ccode\u003eBatchResult.succeeded()\u003c/code\u003e and \u003ccode\u003egetResults()\u003c/code\u003e, including mock results and replay, by \u003ca href=\"https://github.com/shin4141\"\u003e\u003ccode\u003e@​shin4141\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/982\"\u003e#982\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efeat(sdk): collect optional plugin trace metadata for new \u003ccode\u003econtext.invoke()\u003c/code\u003e START checkpoints and serialize the X-Ray header in \u003ccode\u003eChainedInvokeOptions.XAmznTraceId\u003c/code\u003e. Existing checkpointed STARTs retain their replay behavior. The Lambda client dependency is now \u003ccode\u003e^3.1152.0\u003c/code\u003e, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/957\"\u003e#957\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003echore(deps): refresh SDK dependencies and build tooling, by \u003ca href=\"https://github.com/ParidelPooya\"\u003e\u003ccode\u003e@​ParidelPooya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/985\"\u003e#985\u003c/a\u003e and \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/992\"\u003e#992\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSerializer behavior:\u003c/strong\u003e \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/974\"\u003e#974\u003c/a\u003e adds a serialize/deserialize round-trip for \u003ccode\u003einitialState\u003c/code\u003e and an additional deserialization on success. Invalid initial state is rejected before the first condition check.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog (reviewed main)\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/compare/sdk-2.6.0%2Ftest-1.3.0...911b7f0eee6d6322d47a0b4716b758555d404b15\"\u003esdk-2.6.0/test-1.3.0...911b7f0e\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ccode\u003e@​aws/durable-execution-sdk-js-otel\u003c/code\u003e\u003c/h1\u003e\n\u003ch2\u003eWhy Upgrade\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFollow workflows across suspension and resume with polling continuation links, invocation timestamps aligned with application instrumentation, and earlier execution-root export for eligible fallback traces.\u003c/li\u003e\n\u003cli\u003eSee fresh wait, invoke, and callback completions while reducing duplicate terminal spans on successful replays.\u003c/li\u003e\n\u003cli\u003eSupply calling-operation identity and sampling decisions, including \u003ccode\u003eSampled=0\u003c/code\u003e, in optional chained-invoke metadata when used with core 2.7.0 and a compatible tracer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(otel): export an SDK-owned synthetic execution root for fallback traces, by \u003ca href=\"https://github.com/blackmore-technology-group\"\u003e\u003ccode\u003e@​blackmore-technology-group\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/935\"\u003e#935\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): declare mutually exclusive execution/invocation views while preserving provider API version 1, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): align invocation-view span timestamps with the user instrumentation clock, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/962\"\u003e#962\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): link resumed polling operation segments to their initial operation and Workflow; keep each polling attempt under its operation parent with a Workflow link, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/964\"\u003e#964\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): export the stable synthetic root at the start of each eligible sampled fallback invocation, including invocations that later suspend. Emit at most one copy per invocation; identical copies on retries and resumes can recover an earlier lost export, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/966\"\u003e#966\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): retain fresh completion notifications from invocation inputs and checkpoint responses, export wait/invoke/callback completions, and suppress duplicate terminal spans on later successful replays. Drain remaining notifications at invocation end, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/953\"\u003e#953\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efeat(otel): supply chained-invoke \u003ccode\u003eRoot\u003c/code\u003e/\u003ccode\u003eParent\u003c/code\u003e/\u003ccode\u003eSampled\u003c/code\u003e metadata from the resolved execution trace and calling operation, including \u003ccode\u003eSampled=0\u003c/code\u003e, without creating additional spans. Omit this metadata when the durable sampler bridge cannot be verified, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/957\"\u003e#957\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003echore(deps): update build and test dependencies, including property-based test tooling, while retaining the existing runtime peer ranges, by \u003ca href=\"https://github.com/ParidelPooya\"\u003e\u003ccode\u003e@​ParidelPooya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/985\"\u003e#985\u003c/a\u003e and \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/992\"\u003e#992\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/blob/main/CHANGELOG.md\"\u003e@​aws/durable-execution-sdk-js's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to the AWS Durable Execution SDK for JavaScript are documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to \u003ca href=\"https://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheckpoint-derived \u003ccode\u003eOperationInfo.error\u003c/code\u003e can be absent when a failed callback\nor invoke has missing wire error data or no defined diagnostic values.\nInstrumentation should use\n\u003ccode\u003estatus\u003c/code\u003e to identify failure and \u003ccode\u003eerror\u003c/code\u003e for available exception details.\nCaller-facing callback and invoke failures are unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe testing SDK's local checkpoint server now validates checkpoints as the service does. Before,\nit accepted some updates that the service rejects, and it rejected others with different\nmessages. So a test could pass locally for a handler that fails in AWS. The changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe model checks now cover \u003ccode\u003eId\u003c/code\u003e, \u003ccode\u003eParentId\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, \u003ccode\u003eType\u003c/code\u003e, and \u003ccode\u003eAction\u003c/code\u003e, as well as\n\u003ccode\u003eSubType\u003c/code\u003e. \u003ccode\u003eId\u003c/code\u003e and \u003ccode\u003eParentId\u003c/code\u003e must have 1 to 64 characters from \u003ccode\u003e[a-zA-Z0-9-_]\u003c/code\u003e. \u003ccode\u003eName\u003c/code\u003e must\nhave 1 to 256 printable ASCII characters. \u003ccode\u003eId\u003c/code\u003e, \u003ccode\u003eType\u003c/code\u003e, and \u003ccode\u003eAction\u003c/code\u003e are required. An invalid\nmember rejects the whole request with HTTP 400 \u003ccode\u003eValidationException\u003c/code\u003e, with the service's\nmessage. The message lists at most 10 errors, as the service's does.\u003c/li\u003e\n\u003cli\u003eThe model checks also cover the options. \u003ccode\u003eChainedInvokeOptions.FunctionName\u003c/code\u003e is required, and\nmust be a Lambda function name, a qualified name, or a function ARN of at most 256 characters.\n\u003ccode\u003eWaitOptions.WaitSeconds\u003c/code\u003e and \u003ccode\u003eStepOptions.NextAttemptDelaySeconds\u003c/code\u003e must be from 1 to\n31622400. The \u003ccode\u003eCallbackOptions\u003c/code\u003e timeouts must be from 0 to 99999999.\u003c/li\u003e\n\u003cli\u003eA member of the wrong JSON type rejects the request with HTTP 400 \u003ccode\u003eSerializationException\u003c/code\u003e,\nwith the service's message. The check covers every member of \u003ccode\u003eOperationUpdate\u003c/code\u003e, including\n\u003ccode\u003ePayload\u003c/code\u003e, the \u003ccode\u003eError\u003c/code\u003e members, and \u003ccode\u003eContextOptions.ReplayChildren\u003c/code\u003e. For example, a step that\nthrows \u003ccode\u003e{ name: \u0026quot;X\u0026quot;, message: 1 }\u003c/code\u003e now fails the checkpoint, as it does in AWS. The service\nreads an integer member without its fractional part. So \u003ccode\u003eWaitSeconds: 1.5\u003c/code\u003e is accepted as 1,\nand \u003ccode\u003eWaitSeconds: 0.5\u003c/code\u003e is rejected as 0. The local server also stores and schedules that\ninteger, as the service applies it. So \u003ccode\u003econtext.wait({ seconds: 1.5 })\u003c/code\u003e waits and records 1\nsecond.\u003c/li\u003e\n\u003cli\u003eA callback timeout or heartbeat timeout of 0 means no timeout, as it does in the service. The\nlocal server timed the callback out at once.\u003c/li\u003e\n\u003cli\u003eAn update for an existing operation must not change its \u003ccode\u003eType\u003c/code\u003e, \u003ccode\u003eSubType\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, or\n\u003ccode\u003eParentId\u003c/code\u003e. A different value usually means that the handler is not deterministic.\u003c/li\u003e\n\u003cli\u003eThe error object limit is 262144 bytes, the service's limit. It was 32768 bytes.\u003c/li\u003e\n\u003cli\u003ePayloads now have the service's limits: 262144 bytes for STEP and CONTEXT output, 1048576\nbytes for CHAINED_INVOKE input, and 6291456 bytes for EXECUTION output. So a handler result\nover 6291456 bytes now fails the checkpoint, as it does in AWS.\u003c/li\u003e\n\u003cli\u003eA CALLBACK and a CHAINED_INVOKE accept only \u003ccode\u003eSTART\u003c/code\u003e. The local server accepted \u003ccode\u003eCANCEL\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eA WAIT \u003ccode\u003eSTART\u003c/code\u003e requires \u003ccode\u003eWaitOptions\u003c/code\u003e. A CHAINED_INVOKE \u003ccode\u003eSTART\u003c/code\u003e requires\n\u003ccode\u003eChainedInvokeOptions\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe error messages are the service's. For example, \u0026quot;Cannot start a WAIT that already exists.\u0026quot;\nis now \u0026quot;Cannot start a WAIT operation that already exists.\u0026quot;. A test that matches the old\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/da52932eebaf9c416485bc4e4d01f3c136ae0de2\"\u003e\u003ccode\u003eda52932\u003c/code\u003e\u003c/a\u003e feat(sdk): propagate chained invoke trace context in START checkpoints (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/957\"\u003e#957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/6e62276b349841e94cb9a0354c89e7d573519e57\"\u003e\u003ccode\u003e6e62276\u003c/code\u003e\u003c/a\u003e fix(sdk): preserve undefined successful batch results (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/89011d8369d00ba0f6ddb49d850f73d1e864d96d\"\u003e\u003ccode\u003e89011d8\u003c/code\u003e\u003c/a\u003e chore(deps): update in-range dependencies and dev-only majors (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/2a7240b246bc358e2861f7f4e9115c65e89ec5c9\"\u003e\u003ccode\u003e2a7240b\u003c/code\u003e\u003c/a\u003e fix(sdk): round-trip waitForCondition state through serdes consistently (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/d45200ad4cd908e4380d2ecd0d53990daab06431\"\u003e\u003ccode\u003ed45200a\u003c/code\u003e\u003c/a\u003e chore(deps): update dependencies and upgrade Electron to 44 (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/19ee19fa0619093943f079b69943f7b5cdee7ac7\"\u003e\u003ccode\u003e19ee19f\u003c/code\u003e\u003c/a\u003e fix(sdk): reject competing durable OTel views (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/7de88e9c9ef4a9bb0c13a5cae7b6270119276e60\"\u003e\u003ccode\u003e7de88e9\u003c/code\u003e\u003c/a\u003e fix(sdk): preserve updated operation IDs in local invocation inputs (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/954\"\u003e#954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/cc7db9bacb23278c58aecf16821737ba47797152\"\u003e\u003ccode\u003ecc7db9b\u003c/code\u003e\u003c/a\u003e feat(extras): add microvm and microvmSession, and the microvm-worker package ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/2d285ddb54d07be3dcbdc09f7fd1696aece67659\"\u003e\u003ccode\u003e2d285dd\u003c/code\u003e\u003c/a\u003e chore: bump SDK to 2.6.0 and testing SDK to 1.3.0 (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/bfbb07fe67240f51e646c1f30dc230538344c1e6\"\u003e\u003ccode\u003ebfbb07f\u003c/code\u003e\u003c/a\u003e feat(sdk): add subType to step and createCallback (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commits/sdk-2.7.0/packages/aws-durable-execution-sdk-js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws/durable-execution-sdk-js-testing` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commits/HEAD/packages/aws-durable-execution-sdk-js-testing\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/core` from 8.0.6 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 11\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBruno \u0026quot;Borta\u0026quot; Bortagaray (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCINC05 (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoelle Mahfoud (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJulien Pradelle (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKevin Deng (\u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSamual Norman (\u003ca href=\"https://github.com/samualtnorman\"\u003e\u003ccode\u003e@​samualtnorman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehoobnn (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/babel/babel/blob/main/CHANGELOG.md\"\u003e@​babel/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\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\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/1fc00736614159e3b236b9958771f482899853f0\"\u003e\u003ccode\u003e1fc0073\u003c/code\u003e\u003c/a\u003e v8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/d23b2fd8d5610ddc0bfcabc3eec7bd823c95747b\"\u003e\u003ccode\u003ed23b2fd\u003c/code\u003e\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18254\"\u003e#18254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/fd665901dece022a0eda2ae7adda03bc9baabd5e\"\u003e\u003ccode\u003efd66590\u003c/code\u003e\u003c/a\u003e chore: upgrade verkit to v0.5.0 and obug to v3.0.0 (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18248\"\u003e#18248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v8.0.7/packages/babel-core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-env` from 8.0.6 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 11\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBruno \u0026quot;Borta\u0026quot; Bortagaray (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCINC05 (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoelle Mahfoud (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJulien Pradelle (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKevin Deng (\u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSamual Norman (\u003ca href=\"https://github.com/samualtnorman\"\u003e\u003ccode\u003e@​samualtnorman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehoobnn (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/babel/babel/blob/main/CHANGELOG.md\"\u003e@​babel/preset-env's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\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\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/1fc00736614159e3b236b9958771f482899853f0\"\u003e\u003ccode\u003e1fc0073\u003c/code\u003e\u003c/a\u003e v8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/2dd0e6e0b91c7a12c6549ac1679ee84f4707850a\"\u003e\u003ccode\u003e2dd0e6e\u003c/code\u003e\u003c/a\u003e Bump regexpu-core to 6.5.3 (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/18295\"\u003e#18295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/fd665901dece022a0eda2ae7adda03bc9baabd5e\"\u003e\u003ccode\u003efd66590\u003c/code\u003e\u003c/a\u003e chore: upgrade verkit to v0.5.0 and obug to v3.0.0 (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/18248\"\u003e#18248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v8.0.7/packages/babel-preset-env\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-typescript` from 8.0.1 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-typescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 11\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBruno \u0026quot;Borta\u0026quot; Bortagaray (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCINC05 (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoelle Mahfoud (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJulien Pradelle (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKevin Deng (\u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSamual Norman (\u003ca href=\"https://github.com/samualtnorman\"\u003e\u003ccode\u003e@​samualtnorman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehoobnn (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.6 (2026-09-18)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/robhogan\"\u003e\u003ccode\u003e@​robhogan\u003c/code\u003e\u003c/a\u003e for your first PR!\u003c/p\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-validator-identifier\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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@​babel/preset-typescript's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\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\u003ch2\u003ev8.0.6 (2026-09-18)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-validator-identifier\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18237\"\u003e#18237\u003c/a\u003e Update identifier definition to Unicode 18 (\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-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18240\"\u003e#18240\u003c/a\u003e Fix parsing of arrow function params inside ternaries with Flow (\u003ca href=\"https://github.com/robhogan\"\u003e\u003ccode\u003e@​robhogan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-string-parser\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18239\"\u003e#18239\u003c/a\u003e fix: polish error message for invalid binary 0b19 (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-code-frame\u003c/code\u003e, \u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-helper-module-transforms\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-destructuring-private\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-discard-binding\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-regenerator\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-typescript\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e, \u003ccode\u003ebabel-types\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18235\"\u003e#18235\u003c/a\u003e Remove unused internal exports (\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-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18245\"\u003e#18245\u003c/a\u003e test: test with ts-eslint 8.70.0 (\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-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18231\"\u003e#18231\u003c/a\u003e build: do not emit sourcemap in production build (\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-build-external-helpers\u003c/code\u003e, \u003ccode\u003ebabel-cli\u003c/code\u003e, \u003ccode\u003ebabel-code-frame\u003c/code\u003e, \u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-helper-compilation-targets\u003c/code\u003e, \u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-helper-globals\u003c/code\u003e, \u003ccode\u003ebabel-helper-string-parser\u003c/code\u003e, \u003ccode\u003ebabel-helper-transform-fixture-test-runner\u003c/code\u003e, \u003ccode\u003ebabel-helper-validator-identifier\u003c/code\u003e, \u003ccode\u003ebabel-node\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-generator-functions\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-runtime\u003c/code\u003e, \u003ccode\u003ebabel-register\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18236\"\u003e#18236\u003c/a\u003e Enforce usage of Yarn catalog for reused dependencies (\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/1fc00736614159e3b236b9958771f482899853f0\"\u003e\u003ccode\u003e1fc0073\u003c/code\u003e\u003c/a\u003e v8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/7c1dcfac003791a7fee733ed13851a5cac1ccf1c\"\u003e\u003ccode\u003e7c1dcfa\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003e@babel/preset-typescript\u003c/code\u003e export type \u003ccode\u003eOptions\u003c/code\u003e (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript/issues/18251\"\u003e#18251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v8.0.7/packages/babel-preset-typescript\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@next/eslint-plugin-next` from 16.3.8 to 16.4.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@​next/eslint-plugin-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[lts-active] turbo-tasks snapshot consistency fixes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99644\"\u003e#99644\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99732\"\u003e#99732\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99649\"\u003e#99649\u003c/a\u003e) by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100002\"\u003evercel/next.js#100002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Turbopack: backport Pages Router dev module graph chaining (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/98823\"\u003e#98823\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99910\"\u003e#99910\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/100091\"\u003e#100091\u003c/a\u003e) by \u003ca href=\"https://github.com/sokra\"\u003e\u003ccode\u003e@​sokra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100008\"\u003evercel/next.js#100008\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] fix(next-code-frame): snap visible window to char boundaries by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100212\"\u003evercel/next.js#100212\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] [turbopack] Fix two GC paths that leave half-torn-down dependency edges by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100209\"\u003evercel/next.js#100209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Turbopack: Ignore realpath errors during module resolution, matching node's behavior by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100217\"\u003evercel/next.js#100217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Backport docs fixes since v16.4.0 by \u003ca href=\"https://github.com/icyJoseph\"\u003e\u003ccode\u003e@​icyJoseph\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100246\"\u003evercel/next.js#100246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Fix Turbopack lazy dynamic-import chunk-list collisions by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100211\"\u003evercel/next.js#100211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Backport additional documentation fixes since v16.4.0 by \u003ca href=\"https://github.com/aurorascharff\"\u003e\u003ccode\u003e@​aurorascharff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100262\"\u003evercel/next.js#100262\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/next.js/compare/v16.4.1...v16.4.2\"\u003ehttps://github.com/vercel/next.js/compare/v16.4.1...v16.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev16.4.1\u003c/h2\u003e\n\u003cp\u003eThis release contains security fixes for the following advisories:\u003c/p\u003e\n\u003cp\u003eCritical:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-673q-mjm6-r5xr\"\u003eUnauthenticated Remote Code Execution in \u003ccode\u003euse cache\u003c/code\u003e functions returning typed arrays\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-2464-fhr4-w9xw\"\u003eUnauthenticated Remote Code Execution in Image Optimization API when SVG files are used\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHigh:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-p3m5-59mp-jv5r\"\u003eDenial of Service in App Router using Server Actions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.4.0\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://nextjs.org/blog/next-16-4\"\u003e16.4 announcement post\u003c/a\u003e to get an overview of the changes.\u003c/p\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow compiler plugin warning in more situations: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/75682\"\u003e#75682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(scripts): correct typo in rm.mjs error message: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/87015\"\u003e#87015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: improve clarity and punctuation in README: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/86096\"\u003e#86096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix debug build paths Pages Router support entries: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93529\"\u003e#93529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebundle-analyzer: record historical snapshots on each analyze run: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93520\"\u003e#93520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: detect proxy.ts correctly with compound pageExtensions: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93246\"\u003e#93246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(turbopack): support \u003ccode\u003efalse\u003c/code\u003e values for \u003ccode\u003eresolveAlias\u003c/code\u003e config: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93331\"\u003e#93331\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: correction to dynamicParams migration: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96624\"\u003e#96624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: proxy event argument: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96435\"\u003e#96435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: remove experimental note from runtime prefetching: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96615\"\u003e#96615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve per-segment prefetching after dynamic navigation: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96583\"\u003e#96583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename static generation stream option to waitForAllReady: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96564\"\u003e#96564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete static generation plumbing: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96563\"\u003e#96563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Drop dead writes to \u003ccode\u003eexports\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96381\"\u003e#96381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Ignore writes to \u003ccode\u003eexports\u003c/code\u003e after a \u003ccode\u003emodule.exports = {}\u003c/code\u003e writes: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96380\"\u003e#96380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Add test for sideEffects with optimizePackageImports: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96549\"\u003e#96549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Strip leading BOM before parsing CSS: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96678\"\u003e#96678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade React from \u003ccode\u003ecbb046ab-20260731\u003c/code\u003e to \u003ccode\u003e7dfc7ccd-20260803\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96550\"\u003e#96550\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2864b1772c37242a9b40ab4d366eb7d368c2a070\"\u003e\u003ccode\u003e2864b17\u003c/code\u003e\u003c/a\u003e v16.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/7217011ac0d689026884dd28536a0c7f3c98ba77\"\u003e\u003ccode\u003e7217011\u003c/code\u003e\u003c/a\u003e v16.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/e273d5b2e869d0be06c0e86f788e1594f9dd40cf\"\u003e\u003ccode\u003ee273d5b\u003c/code\u003e\u003c/a\u003e v16.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c3e76ad9e49ac21d1667e4b8b2b6b3a3348d2975\"\u003e\u003ccode\u003ec3e76ad\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.63\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ccf8c15a42d1a7140cf569ac15bec3ccb0187e8f\"\u003e\u003ccode\u003eccf8c15\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.62\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/27ee7212f72fdbf8aab13e2263d21110108a2e76\"\u003e\u003ccode\u003e27ee721\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.61\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/cdf6866a1d9c4a88afff3ffdc127fe7932e184d5\"\u003e\u003ccode\u003ecdf6866\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ba80ee48fc319735151c3ad6d9bb9a8180c9f09e\"\u003e\u003ccode\u003eba80ee4\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.59\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/1bcedb48d95a5a9ba6ad77dd2d8ba9ecc4159ba6\"\u003e\u003ccode\u003e1bcedb4\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.58\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/3683479afb0cd864cc40c4b46d09dbd7ce45d4af\"\u003e\u003ccode\u003e3683479\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.57\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.4.2/packages/eslint-plugin-next\"\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.71.0 to 8.71.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.2\u003c/h2\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match linked packages and packages with missing version in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/...\n\n_Description has been truncated_","html_url":"https://github.com/Kong/volcano-sdk-js/pull/338","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kong%2Fvolcano-sdk-js/issues/338","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/338/packages"},{"uuid":"5956806595","node_id":"PR_kwDOVI4h2c8AAAABJvNgrw","number":39,"state":"open","title":"Bump eslint-plugin-n from 18.4.1 to 18.5.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-21T08:09:14.000Z","updated_at":"2026-10-21T08:09:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"eslint-plugin-n","old_version":"18.4.1","new_version":"18.5.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.4.1 to 18.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.1...v18.5.0\"\u003e18.5.0\u003c/a\u003e (2026-10-18)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003enode-builtins:\u003c/strong\u003e ✨ support 20.20, 22.23, 24.22 and 26.12 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/578\"\u003e#578\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/2fa0069534e97f807092480d8383124da0ae18eb\"\u003e2fa0069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-mixed-requires:\u003c/strong\u003e classify modern Node built-ins (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/58c5d56f8ac64905d32a9427c03e62d61063eba8\"\u003e58c5d56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features/es-syntax:\u003c/strong\u003e Promise.withResolvers is supported since Node.js 22.0.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/577\"\u003e#577\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4a6dee17e067da781b94cbe42674bf7f589cc930\"\u003e4a6dee1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexplain module aliases for no-missing-require (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/579\"\u003e#579\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/fcf1256ee65f490af65b98a4812f95c422313189\"\u003efcf1256\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.1...v18.5.0\"\u003e18.5.0\u003c/a\u003e (2026-10-18)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003enode-builtins:\u003c/strong\u003e ✨ support 20.20, 22.23, 24.22 and 26.12 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/578\"\u003e#578\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/2fa0069534e97f807092480d8383124da0ae18eb\"\u003e2fa0069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-mixed-requires:\u003c/strong\u003e classify modern Node built-ins (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/58c5d56f8ac64905d32a9427c03e62d61063eba8\"\u003e58c5d56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features/es-syntax:\u003c/strong\u003e Promise.withResolvers is supported since Node.js 22.0.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/577\"\u003e#577\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4a6dee17e067da781b94cbe42674bf7f589cc930\"\u003e4a6dee1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexplain module aliases for no-missing-require (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/579\"\u003e#579\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/fcf1256ee65f490af65b98a4812f95c422313189\"\u003efcf1256\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/5bbe603030c658599db596a7175e1094b01c0157\"\u003e\u003ccode\u003e5bbe603\u003c/code\u003e\u003c/a\u003e chore(master): release 18.5.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/581\"\u003e#581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/2fa0069534e97f807092480d8383124da0ae18eb\"\u003e\u003ccode\u003e2fa0069\u003c/code\u003e\u003c/a\u003e feat(node-builtins): ✨ support 20.20, 22.23, 24.22 and 26.12 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/fcf1256ee65f490af65b98a4812f95c422313189\"\u003e\u003ccode\u003efcf1256\u003c/code\u003e\u003c/a\u003e docs: explain module aliases for no-missing-require (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/579\"\u003e#579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/58c5d56f8ac64905d32a9427c03e62d61063eba8\"\u003e\u003ccode\u003e58c5d56\u003c/code\u003e\u003c/a\u003e fix(no-mixed-requires): classify modern Node built-ins (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/580\"\u003e#580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4a6dee17e067da781b94cbe42674bf7f589cc930\"\u003e\u003ccode\u003e4a6dee1\u003c/code\u003e\u003c/a\u003e fix(no-unsupported-features/es-syntax): Promise.withResolvers is supported si...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.1...v18.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.4.1\u0026new-version=18.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tiengming/rsshub/pull/39","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiengming%2Frsshub/issues/39","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39/packages"},{"uuid":"5918382072","node_id":"PR_kwDORN70ZM8AAAABJQklog","number":513,"state":"open","title":"chore(deps): Bump the npm-runtime-minor group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-19T05:28:52.000Z","updated_at":"2026-10-19T05:28:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"npm-runtime-minor","update_count":8,"packages":[{"name":"@napi-rs/canvas","old_version":"1.0.10","new_version":"1.0.11","repository_url":"https://github.com/Brooooooklyn/canvas"},{"name":"dotenv","old_version":"18.0.5","new_version":"18.0.8","repository_url":"https://github.com/motdotla/dotenv"},{"name":"nodemailer","old_version":"10.0.13","new_version":"10.1.1","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"sodium-native","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/holepunchto/sodium-native"},{"name":"axe-core","old_version":"4.13.0","new_version":"4.14.0","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"playwright","old_version":"1.63.0","new_version":"1.64.1","repository_url":"https://github.com/microsoft/playwright"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-runtime-minor group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@napi-rs/canvas](https://github.com/Brooooooklyn/canvas) | `1.0.10` | `1.0.11` |\n| [dotenv](https://github.com/motdotla/dotenv) | `18.0.5` | `18.0.8` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `10.0.13` | `10.1.1` |\n| [sodium-native](https://github.com/holepunchto/sodium-native) | `5.1.0` | `5.1.1` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `4.13.0` | `4.14.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [playwright](https://github.com/microsoft/playwright) | `1.63.0` | `1.64.1` |\n\n\nUpdates `@napi-rs/canvas` from 1.0.10 to 1.0.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Brooooooklyn/canvas/releases\"\u003e@​napi-rs/canvas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update rust to v1.99.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1349\"\u003eBrooooooklyn/canvas#1349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: emit CycloneDX SBOMs for platform packages by \u003ca href=\"https://github.com/Brooooooklyn\"\u003e\u003ccode\u003e@​Brooooooklyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1351\"\u003eBrooooooklyn/canvas#1351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: attest binaries only on releases and in a single step by \u003ca href=\"https://github.com/Brooooooklyn\"\u003e\u003ccode\u003e@​Brooooooklyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1354\"\u003eBrooooooklyn/canvas#1354\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: start a new subpath for each Path2D.addPath call by \u003ca href=\"https://github.com/binarychase\"\u003e\u003ccode\u003e@​binarychase\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1353\"\u003eBrooooooklyn/canvas#1353\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/binarychase\"\u003e\u003ccode\u003e@​binarychase\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1353\"\u003eBrooooooklyn/canvas#1353\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\"\u003ehttps://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Brooooooklyn/canvas/blob/main/CHANGELOG.md\"\u003e@​napi-rs/canvas's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\"\u003e1.0.11\u003c/a\u003e (2026-10-10)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003estart a new subpath for each Path2D.addPath call (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1353\"\u003e#1353\u003c/a\u003e) (\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/363cbd6ebe5c95e8774b0262a3b11350bcd8f81f\"\u003e363cbd6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eemit CycloneDX SBOMs for platform packages (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1351\"\u003e#1351\u003c/a\u003e) (\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/22d9b29e10c756b018c6b441edd1b93a2fbd672d\"\u003e22d9b29\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/Brooooooklyn/canvas/commit/adce718ec8ff82f9e896875752fd621c46b1c04e\"\u003e\u003ccode\u003eadce718\u003c/code\u003e\u003c/a\u003e 1.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/363cbd6ebe5c95e8774b0262a3b11350bcd8f81f\"\u003e\u003ccode\u003e363cbd6\u003c/code\u003e\u003c/a\u003e fix: start a new subpath for each Path2D.addPath call (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1353\"\u003e#1353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/bad0717603037830458a0453f7439a587c970aa4\"\u003e\u003ccode\u003ebad0717\u003c/code\u003e\u003c/a\u003e ci: attest binaries only on releases and in a single step (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1354\"\u003e#1354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/22d9b29e10c756b018c6b441edd1b93a2fbd672d\"\u003e\u003ccode\u003e22d9b29\u003c/code\u003e\u003c/a\u003e feat: emit CycloneDX SBOMs for platform packages (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1351\"\u003e#1351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/dfab6dcff4981c3b2b8ddceafd2a97780e7aa21a\"\u003e\u003ccode\u003edfab6dc\u003c/code\u003e\u003c/a\u003e chore(deps): update rust to v1.99.0 (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1349\"\u003e#1349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv` from 18.0.5 to 18.0.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.7...v18.0.8\"\u003e18.0.8\u003c/a\u003e (2026-10-14)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFast parser should strip appended extra quotes (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType detail improvement (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.6...v18.0.7\"\u003e18.0.7\u003c/a\u003e (2026-10-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat undefined settings like \u003ccode\u003equiet: true\u003c/code\u003e as null rather than falsey (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI should honor \u003ccode\u003eDOTENV_QUIET\u003c/code\u003e setting in \u003ccode\u003e.env\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.5...v18.0.6\"\u003e18.0.6\u003c/a\u003e (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse smarter \u003ccode\u003eparseBoolean\u003c/code\u003e not Boolean() to fix override (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/e2fe95e8e952e881787d8207b654c80326f821d8\"\u003e\u003ccode\u003ee2fe95e\u003c/code\u003e\u003c/a\u003e 18.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/7aa712ab2914c0cf128ea8ccdaf5e918a867db59\"\u003e\u003ccode\u003e7aa712a\u003c/code\u003e\u003c/a\u003e type detail improvement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/53405b0b140debc002e41c5abb671d5da5f3e8f9\"\u003e\u003ccode\u003e53405b0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1074\"\u003e#1074\u003c/a\u003e from himanshu748/codex/fix-dotenv-populate-undefined...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/0b4843a90d6d70b110d1f1a309f209c3d8d7cb6e\"\u003e\u003ccode\u003e0b4843a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/55855ab6bffb017ca94cb273704c055f2d977c57\"\u003e\u003ccode\u003e55855ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1073\"\u003e#1073\u003c/a\u003e from xiehuanyi/fix/unicode-unquoting-parity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/f7578114202cf0b8df31775225a9233ead6b2a80\"\u003e\u003ccode\u003ef757811\u003c/code\u003e\u003c/a\u003e fix(types): allow undefined values in populate output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/fde5db2bca73438a013ee8837b021a436e65dac7\"\u003e\u003ccode\u003efde5db2\u003c/code\u003e\u003c/a\u003e Keep fast-parser unquoting consistent at Unicode line boundaries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/295320751866efa323236c719cdc1b5306fa3de7\"\u003e\u003ccode\u003e2953207\u003c/code\u003e\u003c/a\u003e 18.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/9944723d89e6f776897f171bfc6b945dfad23c57\"\u003e\u003ccode\u003e9944723\u003c/code\u003e\u003c/a\u003e make more readable for undefined -\u0026gt; null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/d455db06a7b37acd8b240793a888efaba75885f4\"\u003e\u003ccode\u003ed455db0\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:motdotla/dotenv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.5...v18.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nodemailer` from 10.0.13 to 10.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodemailer/nodemailer/releases\"\u003enodemailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.1.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.1.0...v10.1.1\"\u003e10.1.1\u003c/a\u003e (2026-10-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e strip credentials on any cross-origin redirect (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/a15360cd2cd12e4670e96ab0b7290e8c862391cf\"\u003ea15360c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.16...v10.1.0\"\u003e10.1.0\u003c/a\u003e (2026-10-10)\u003c/h2\u003e\n\u003ch3\u003eBehaviour changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePooled connections are closed after 4 minutes without a message (new \u003ccode\u003eidleTimeout\u003c/code\u003e pool option, set it to \u003ccode\u003e0\u003c/code\u003e to keep them open). A message whose recipients are rejected no longer closes the pooled connection, it is reset with \u003ccode\u003eRSET\u003c/code\u003e and reused, and a message is requeued when the server dropped a reused connection before any of it was sent.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econnectionTimeout\u003c/code\u003e covers setting the session up as a whole: the DNS lookup, a proxy handshake, the TCP connection, TLS, the greeting and a STARTTLS upgrade. \u003ccode\u003egreetingTimeout\u003c/code\u003e still bounds the greeting and the STARTTLS handshake within it.\u003c/li\u003e\n\u003cli\u003eAny \u003ccode\u003e421\u003c/code\u003e reply ends the SMTP session. When the server closes an idle connection, \u003ccode\u003eSMTPConnection\u003c/code\u003e emits only \u003ccode\u003eend\u003c/code\u003e, not an \u003ccode\u003eECONNECTION\u003c/code\u003e error.\u003c/li\u003e\n\u003cli\u003eA content stream that was already read or destroyed fails the message with \u003ccode\u003eESTREAM\u003c/code\u003e instead of producing an empty attachment. Content streams of a message that fails are destroyed.\u003c/li\u003e\n\u003cli\u003eWith \u003ccode\u003eopportunisticTLS\u003c/code\u003e, authentication is skipped on the unencrypted connection after a failed STARTTLS, unless \u003ccode\u003eforceAuth\u003c/code\u003e is set.\u003c/li\u003e\n\u003cli\u003eThe envelope is pipelined (MAIL FROM, RCPT TO and DATA in one batch) when the server announces PIPELINING.\u003c/li\u003e\n\u003cli\u003eErrors carry \u003ccode\u003eoriginalCode\u003c/code\u003e (the system error code Nodemailer replaced, such as \u003ccode\u003eECONNREFUSED\u003c/code\u003e) and, for \u003ccode\u003eETIMEDOUT\u003c/code\u003e, \u003ccode\u003etimeoutType\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eharden message streams, SMTP connections and the connection pool (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8009da6e10bb8e10d7f0948a25d65895fdcd64f1\"\u003e8009da6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edo not read the environment or the interface table on import (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/094179d176d2ebe7a28742411ad427d3c87a3981\"\u003e094179d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eend the SMTP session on any 421 reply and drive the envelope through one step (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5638ac1914342460df270f736e7ceb0a844cf83a\"\u003e5638ac1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ekeep ERR_ACCESS_DENIED from the Node.js permission model (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8b33a3d4fedee3431b97da7da12af954c3c8dceb\"\u003e8b33a3d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet the proxy handshake and the SMTP connection share one deadline (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/91ed683f7a1e9ff8c56e24fb76facf16af08b162\"\u003e91ed683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e decode an SMTPUTF8 domain from its A-label form (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/e436f4dccbc8b0fb57b4747ebaafa5bb035c15cb\"\u003ee436f4d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e finish an encoded part only after its output was read (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/ec97d8f679a1d9d47bbebb03ea064f5fa6f58d01\"\u003eec97d8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eqp:\u003c/strong\u003e encode a lone CR or LF in binary quoted-printable parts (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/42b91d9a0fe18eea412c9774c5c142adf5b3efc7\"\u003e42b91d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e count the wait for the greeting against connectionTimeout (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/bdcd0462cab163eca3c34058d09b9981ab671c47\"\u003ebdcd046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e drop the connection when DATA is taken after a refused sender (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/f90fb045bc24f96a128710791b2fa443e64f55fd\"\u003ef90fb04\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e refuse a second connect() call (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/24ba2e0847ecb8202540f1c5e53483bd119ae4f2\"\u003e24ba2e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eturn Nagle off for SMTP sockets and report an early sendmail exit as such (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fa9b8d300bf642cd9e11f6732ebb312c09868677\"\u003efa9b8d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eencode base64 and quoted-printable without per-chunk delays (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fd377bbf559363860aedbedba6f107348fc152d2\"\u003efd377bb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.16\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.15...v10.0.16\"\u003e10.0.16\u003c/a\u003e (2026-10-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md\"\u003enodemailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.1.0...v10.1.1\"\u003e10.1.1\u003c/a\u003e (2026-10-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e strip credentials on any cross-origin redirect (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/a15360cd2cd12e4670e96ab0b7290e8c862391cf\"\u003ea15360c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.16...v10.1.0\"\u003e10.1.0\u003c/a\u003e (2026-10-10)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eharden message streams, SMTP connections and the connection pool (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8009da6e10bb8e10d7f0948a25d65895fdcd64f1\"\u003e8009da6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edo not read the environment or the interface table on import (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/094179d176d2ebe7a28742411ad427d3c87a3981\"\u003e094179d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eend the SMTP session on any 421 reply and drive the envelope through one step (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5638ac1914342460df270f736e7ceb0a844cf83a\"\u003e5638ac1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ekeep ERR_ACCESS_DENIED from the Node.js permission model (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8b33a3d4fedee3431b97da7da12af954c3c8dceb\"\u003e8b33a3d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet the proxy handshake and the SMTP connection share one deadline (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/91ed683f7a1e9ff8c56e24fb76facf16af08b162\"\u003e91ed683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e decode an SMTPUTF8 domain from its A-label form (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/e436f4dccbc8b0fb57b4747ebaafa5bb035c15cb\"\u003ee436f4d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e finish an encoded part only after its output was read (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/ec97d8f679a1d9d47bbebb03ea064f5fa6f58d01\"\u003eec97d8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eqp:\u003c/strong\u003e encode a lone CR or LF in binary quoted-printable parts (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/42b91d9a0fe18eea412c9774c5c142adf5b3efc7\"\u003e42b91d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e count the wait for the greeting against connectionTimeout (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/bdcd0462cab163eca3c34058d09b9981ab671c47\"\u003ebdcd046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e drop the connection when DATA is taken after a refused sender (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/f90fb045bc24f96a128710791b2fa443e64f55fd\"\u003ef90fb04\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e refuse a second connect() call (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/24ba2e0847ecb8202540f1c5e53483bd119ae4f2\"\u003e24ba2e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eturn Nagle off for SMTP sockets and report an early sendmail exit as such (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fa9b8d300bf642cd9e11f6732ebb312c09868677\"\u003efa9b8d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eencode base64 and quoted-printable without per-chunk delays (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fd377bbf559363860aedbedba6f107348fc152d2\"\u003efd377bb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.15...v10.0.16\"\u003e10.0.16\u003c/a\u003e (2026-10-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaddressparser:\u003c/strong\u003e keep an escaped parenthesis inside a comment (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/c4ae20d074ac0510cc2d0cbd6039ee7fab3a4ca8\"\u003ec4ae20d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e keep the case of cookie names (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1888\"\u003e#1888\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9f16eedf8de0485e6d07969113db992ff70f89ce\"\u003e9f16eed\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e read the cookie name-value pair by position (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/645e97c8f0586404d9fb861c9527be7572c2c832\"\u003e645e97c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.14...v10.0.15\"\u003e10.0.15\u003c/a\u003e (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eerrors:\u003c/strong\u003e inherit NodemailerError code from ErrnoException (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/e99db61d51c244e184a3a79103d1d732ffb6376b\"\u003ee99db61\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1884\"\u003e#1884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eerrors:\u003c/strong\u003e keep NodemailerError compatible with \u003ccode\u003e@​types/node\u003c/code\u003e 26 ErrnoException (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1885\"\u003e#1885\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b6603286cc45bff52c13cc74e5ac47f424452fdc\"\u003eb660328\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9396ccac77d4f78c34437eecda2c0cd146fad891\"\u003e\u003ccode\u003e9396cca\u003c/code\u003e\u003c/a\u003e chore(master): release 10.1.1 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1893\"\u003e#1893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/65d7498a345828af762076e8da5a38e3297876ce\"\u003e\u003ccode\u003e65d7498\u003c/code\u003e\u003c/a\u003e chore(deps): bump dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/647ee44499a10ef57e84e4bc3028b9c9cc986798\"\u003e\u003ccode\u003e647ee44\u003c/code\u003e\u003c/a\u003e test(smtp-connection): pin connectionTimeout across all resolved addresses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/a15360cd2cd12e4670e96ab0b7290e8c862391cf\"\u003e\u003ccode\u003ea15360c\u003c/code\u003e\u003c/a\u003e fix(fetch): strip credentials on any cross-origin redirect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/c8671c47559be03614230904cb9df559a8a12130\"\u003e\u003ccode\u003ec8671c4\u003c/code\u003e\u003c/a\u003e Updated SECURITY.md formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/be6fe728454d48931f206b6c8ca1c5a67f05376c\"\u003e\u003ccode\u003ebe6fe72\u003c/code\u003e\u003c/a\u003e testing VUlnerability firm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/7bdaa77d1d7bc3892cdedc6aafd8ae429987ab6f\"\u003e\u003ccode\u003e7bdaa77\u003c/code\u003e\u003c/a\u003e chore: Updated Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/0780032250ad5c566b5d8e6fd56ca8c210e423ec\"\u003e\u003ccode\u003e0780032\u003c/code\u003e\u003c/a\u003e chore(master): release 10.1.0 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/42b91d9a0fe18eea412c9774c5c142adf5b3efc7\"\u003e\u003ccode\u003e42b91d9\u003c/code\u003e\u003c/a\u003e fix(qp): encode a lone CR or LF in binary quoted-printable parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b9b8c84e924168dfa1fed701cd207c8f5099f279\"\u003e\u003ccode\u003eb9b8c84\u003c/code\u003e\u003c/a\u003e test(smtp-pool): fail the clear event test with the pool state instead of han...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.13...v10.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sodium-native` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/ef7b25386d7d0beb3b13ec4a980857f6c2aef1ef\"\u003e\u003ccode\u003eef7b253\u003c/code\u003e\u003c/a\u003e 5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/54afa1114a04c3bfd15b990ba5d3b03c0685cf50\"\u003e\u003ccode\u003e54afa11\u003c/code\u003e\u003c/a\u003e Add Lunte and publish workflow (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/ba6517132de73c136b382b1d68e71eda297a10f0\"\u003e\u003ccode\u003eba65171\u003c/code\u003e\u003c/a\u003e Lock down permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/2b46136f0f9c15f196341e5355a8d7604be3aa63\"\u003e\u003ccode\u003e2b46136\u003c/code\u003e\u003c/a\u003e fix(crypto_secretbox): add safeguards (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/245\"\u003e#245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/ccec036e6a50106335dfd8da4dda15bc6fcab6ab\"\u003e\u003ccode\u003eccec036\u003c/code\u003e\u003c/a\u003e fix(mprotect): add safeguards to avoid crashes (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/244\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/106ced578955945b2f45b27cbb5ef038e00c6da1\"\u003e\u003ccode\u003e106ced5\u003c/code\u003e\u003c/a\u003e fix(memory): set secure flag properly (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/243\"\u003e#243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/96263802b0f4d91e8e93a9d93ebe7a4aa38c8fa8\"\u003e\u003ccode\u003e9626380\u003c/code\u003e\u003c/a\u003e Rely on global \u003ccode\u003egc()\u003c/code\u003e in tests that require GC (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/242\"\u003e#242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/f566427e31344db077007f1ebf188ee743b46d57\"\u003e\u003ccode\u003ef566427\u003c/code\u003e\u003c/a\u003e Use LLVM 21 for Windows prebuilds\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/holepunchto/sodium-native/compare/v5.1.0...v5.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for sodium-native since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axe-core` from 4.13.0 to 4.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core/releases\"\u003eaxe-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.14.0\u003c/h2\u003e\n\u003cp\u003eThis release enables a new rule, and introduces new violations in some existing rules. These can cause the issue totals to go up from a previous version. Similarly we've included various bug fixes to false positives which may see the issue count go down as well. This release focused on various performance improvements which should speed runs up 20% - 40% on most pages. On especially large pages we've measured a 15x performance improvement.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd EN 301 549 v4 tags to target-size (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5361\"\u003e#5361\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/8200d2b81f3fd41f6287423c326fb663afa85fb3\"\u003e8200d2b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5311\"\u003e#5311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ei18n:\u003c/strong\u003e add Azerbaijani locale (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5385\"\u003e#5385\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/02e5fd446a2b53196dff25026bff6a9be47fdc22\"\u003e02e5fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e Enable rule by default (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5421\"\u003e#5421\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/c0d61636909d25e4ea1b8aec665cfcd2098978d5\"\u003ec0d6163\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5227\"\u003e#5227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e report case-sensitive aria attributes with non-lowercase values (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5418\"\u003e#5418\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1e33c6caf879e204a664e85c6cd49f0c9c5e5d31\"\u003e1e33c6c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5280\"\u003e#5280\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5224\"\u003e#5224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-hidden-focus:\u003c/strong\u003e suggest removing aria-hidden in the fail messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5397\"\u003e#5397\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/aa4a0a1966b8d858fcd7e9f7acffac39fac006e3\"\u003eaa4a0a1\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-prohibited-attr:\u003c/strong\u003e quote the element name in no-role messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5391\"\u003e#5391\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/24736a4f3df243c1de692f17dd0e1e3d23a4542d\"\u003e24736a4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e allow caption in table, grid and treegrid (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5412\"\u003e#5412\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/ed987a21521f4186ad83de547af4de9477a521e5\"\u003eed987a2\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5265\"\u003e#5265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e explain presentational children that cannot be ignored (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5407\"\u003e#5407\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/35a38d811672023d38fdb440bdd2e402575a52d8\"\u003e35a38d8\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eavoid-inline-spacing:\u003c/strong\u003e test the text that gets the spacing from the element (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5411\"\u003e#5411\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/96e3e067f9f2270549ffe72e5b07cf9f3945d1fb\"\u003e96e3e06\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e add incomplete messages to checks that can return undefined (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5388\"\u003e#5388\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6f1a6febfe15b938742a0125597f024dae1603ed\"\u003e6f1a6fe\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e make listitem failure messages actionable (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6dd1be286097de3844962d20818810855d8b75cf\"\u003e6dd1be2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e handle \u0026quot;none\u0026quot; and exponents in color strings (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5422\"\u003e#5422\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cf5ed89708895c4bffff8cacf345323be4338412\"\u003ecf5ed89\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5313\"\u003e#5313\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4136\"\u003e#4136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4007\"\u003e#4007\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4269\"\u003e#4269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e treat empty low-contrast text inputs as incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5359\"\u003e#5359\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/47029deca0d8e9d0bcbe94f15bf8393ba69241f9\"\u003e47029de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4260\"\u003e#4260\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/dom:\u003c/strong\u003e treat dialog as non-modal when elementsFromPoint is unsupported (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5202\"\u003e#5202\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/757b44af26bdd566707d513918c5db7879dd1e2e\"\u003e757b44a\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4997\"\u003e#4997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text/visibleVirtual:\u003c/strong\u003e sanitize visible text once, not at every level (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5368\"\u003e#5368\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2d4718219f7db134de4f7cf3d741a8ce702e37d6\"\u003e2d47182\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecore:\u003c/strong\u003e use the fallback message when a check has no incomplete message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5367\"\u003e#5367\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4887c3a880dc5c58649bb1d5c72b79dda3393312\"\u003e4887c3a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e add support for cjk word splitting (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5437\"\u003e#5437\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/d53cb0ad64e90dff0eb744b98a29d69a2d6dd5e1\"\u003ed53cb0a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e compare visible label to name by word (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4e3fcf56670738da96e0d6b529897d1af86e46c4\"\u003e4e3fcf5\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5346\"\u003e#5346\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4311\"\u003e#4311\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e ignore parenthesised content (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5360\"\u003e#5360\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/388132db27a82c08e39d1049f3cce2f18a118500\"\u003e388132d\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e mark value-text roles incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5258f4439e05434ae0313017a8048c9611229396\"\u003e5258f44\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e normalize CJK and full-width text before comparing (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5419\"\u003e#5419\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/52dd387c94adb0b12cc4531ba34e8c2bd4c3b274\"\u003e52dd387\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5420\"\u003e#5420\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5340\"\u003e#5340\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-focusable-content:\u003c/strong\u003e say how to fix in the default fail message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5392\"\u003e#5392\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/b84b76bb32733b408b43ed7634e76974e38e5a95\"\u003eb84b76b\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3194\"\u003e#3194\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ep-as-heading:\u003c/strong\u003e ignore paragraphs with heading roles (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5348\"\u003e#5348\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cbc33b967cadc6bcc4cd34309f21742d0c0ff62c\"\u003ecbc33b9\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5283\"\u003e#5283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eprocess-message:\u003c/strong\u003e separate array values with a comma and a space (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5393\"\u003e#5393\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6ba9ee48e153f609cdb6ed04360ce8be2731a472\"\u003e6ba9ee4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter:\u003c/strong\u003e make addReporter isDefault set the default reporter (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5395\"\u003e#5395\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/eb854ed3e7498f1c1c6bd941b44181455a8e4866\"\u003eeb854ed\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e negative tabindex content needs review instead of failing outright (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5364\"\u003e#5364\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/72e86242e518f6fd82508d842ce103590393adbd\"\u003e72e8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore overlapping links with the same destination (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5428\"\u003e#5428\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2ba0812fda58779ac285ba62fe9c27110a391f96\"\u003e2ba0812\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5406\"\u003e#5406\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4224\"\u003e#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate de.json (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5353\"\u003e#5353\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4d306cbb7c456849c6f964444a6a7174d2be502a\"\u003e4d306cb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils:\u003c/strong\u003e resolve \u003ca href=\"https://github.com/import\"\u003e\u003ccode\u003e@​import\u003c/code\u003e\u003c/a\u003e url against the stylesheet that contains it (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5269\"\u003e#5269\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/e618fb6cfabab7e153319256d09802b043e916dc\"\u003ee618fb6\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5268\"\u003e#5268\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md\"\u003eaxe-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.13.0...v4.14.0\"\u003e4.14.0\u003c/a\u003e (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd EN 301 549 v4 tags to target-size (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5361\"\u003e#5361\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/8200d2b81f3fd41f6287423c326fb663afa85fb3\"\u003e8200d2b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5311\"\u003e#5311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ei18n:\u003c/strong\u003e add Azerbaijani locale (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5385\"\u003e#5385\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/02e5fd446a2b53196dff25026bff6a9be47fdc22\"\u003e02e5fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e Enable rule by default (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5421\"\u003e#5421\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/c0d61636909d25e4ea1b8aec665cfcd2098978d5\"\u003ec0d6163\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5227\"\u003e#5227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e report case-sensitive aria attributes with non-lowercase values (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5418\"\u003e#5418\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1e33c6caf879e204a664e85c6cd49f0c9c5e5d31\"\u003e1e33c6c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5280\"\u003e#5280\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5224\"\u003e#5224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-hidden-focus:\u003c/strong\u003e suggest removing aria-hidden in the fail messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5397\"\u003e#5397\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/aa4a0a1966b8d858fcd7e9f7acffac39fac006e3\"\u003eaa4a0a1\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-prohibited-attr:\u003c/strong\u003e quote the element name in no-role messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5391\"\u003e#5391\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/24736a4f3df243c1de692f17dd0e1e3d23a4542d\"\u003e24736a4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e allow caption in table, grid and treegrid (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5412\"\u003e#5412\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/ed987a21521f4186ad83de547af4de9477a521e5\"\u003eed987a2\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5265\"\u003e#5265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e explain presentational children that cannot be ignored (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5407\"\u003e#5407\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/35a38d811672023d38fdb440bdd2e402575a52d8\"\u003e35a38d8\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eavoid-inline-spacing:\u003c/strong\u003e test the text that gets the spacing from the element (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5411\"\u003e#5411\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/96e3e067f9f2270549ffe72e5b07cf9f3945d1fb\"\u003e96e3e06\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e add incomplete messages to checks that can return undefined (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5388\"\u003e#5388\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6f1a6febfe15b938742a0125597f024dae1603ed\"\u003e6f1a6fe\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e make listitem failure messages actionable (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6dd1be286097de3844962d20818810855d8b75cf\"\u003e6dd1be2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e handle \u0026quot;none\u0026quot; and exponents in color strings (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5422\"\u003e#5422\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cf5ed89708895c4bffff8cacf345323be4338412\"\u003ecf5ed89\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5313\"\u003e#5313\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4136\"\u003e#4136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4007\"\u003e#4007\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4269\"\u003e#4269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e treat empty low-contrast text inputs as incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5359\"\u003e#5359\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/47029deca0d8e9d0bcbe94f15bf8393ba69241f9\"\u003e47029de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4260\"\u003e#4260\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/dom:\u003c/strong\u003e treat dialog as non-modal when elementsFromPoint is unsupported (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5202\"\u003e#5202\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/757b44af26bdd566707d513918c5db7879dd1e2e\"\u003e757b44a\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4997\"\u003e#4997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text/visibleVirtual:\u003c/strong\u003e sanitize visible text once, not at every level (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5368\"\u003e#5368\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2d4718219f7db134de4f7cf3d741a8ce702e37d6\"\u003e2d47182\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecore:\u003c/strong\u003e use the fallback message when a check has no incomplete message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5367\"\u003e#5367\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4887c3a880dc5c58649bb1d5c72b79dda3393312\"\u003e4887c3a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e add support for cjk word splitting (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5437\"\u003e#5437\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/d53cb0ad64e90dff0eb744b98a29d69a2d6dd5e1\"\u003ed53cb0a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e compare visible label to name by word (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4e3fcf56670738da96e0d6b529897d1af86e46c4\"\u003e4e3fcf5\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5346\"\u003e#5346\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4311\"\u003e#4311\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e ignore parenthesised content (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5360\"\u003e#5360\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/388132db27a82c08e39d1049f3cce2f18a118500\"\u003e388132d\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e mark value-text roles incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5258f4439e05434ae0313017a8048c9611229396\"\u003e5258f44\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e normalize CJK and full-width text before comparing (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5419\"\u003e#5419\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/52dd387c94adb0b12cc4531ba34e8c2bd4c3b274\"\u003e52dd387\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5420\"\u003e#5420\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5340\"\u003e#5340\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-focusable-content:\u003c/strong\u003e say how to fix in the default fail message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5392\"\u003e#5392\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/b84b76bb32733b408b43ed7634e76974e38e5a95\"\u003eb84b76b\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3194\"\u003e#3194\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ep-as-heading:\u003c/strong\u003e ignore paragraphs with heading roles (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5348\"\u003e#5348\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cbc33b967cadc6bcc4cd34309f21742d0c0ff62c\"\u003ecbc33b9\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5283\"\u003e#5283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eprocess-message:\u003c/strong\u003e separate array values with a comma and a space (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5393\"\u003e#5393\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6ba9ee48e153f609cdb6ed04360ce8be2731a472\"\u003e6ba9ee4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter:\u003c/strong\u003e make addReporter isDefault set the default reporter (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5395\"\u003e#5395\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/eb854ed3e7498f1c1c6bd941b44181455a8e4866\"\u003eeb854ed\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e negative tabindex content needs review instead of failing outright (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5364\"\u003e#5364\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/72e86242e518f6fd82508d842ce103590393adbd\"\u003e72e8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore overlapping links with the same destination (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5428\"\u003e#5428\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2ba0812fda58779ac285ba62fe9c27110a391f96\"\u003e2ba0812\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5406\"\u003e#5406\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4224\"\u003e#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate de.json (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5353\"\u003e#5353\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4d306cbb7c456849c6f964444a6a7174d2be502a\"\u003e4d306cb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils:\u003c/strong\u003e resolve \u003ca href=\"https://github.com/import\"\u003e\u003ccode\u003e@​import\u003c/code\u003e\u003c/a\u003e url against the stylesheet that contains it (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5269\"\u003e#5269\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/e618fb6cfabab7e153319256d09802b043e916dc\"\u003ee618fb6\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5268\"\u003e#5268\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/e797173108eadfa4355fe06af331791734e1757f\"\u003e\u003ccode\u003ee797173\u003c/code\u003e\u003c/a\u003e chore(release): v4.14.0 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6976881267359ef095ba04bea4a44ceed51c25a2\"\u003e\u003ccode\u003e6976881\u003c/code\u003e\u003c/a\u003e chore(release): 4.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/d53cb0ad64e90dff0eb744b98a29d69a2d6dd5e1\"\u003e\u003ccode\u003ed53cb0a\u003c/code\u003e\u003c/a\u003e fix(label-content-name-mismatch): add support for cjk word splitting (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5437\"\u003e#5437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/35a38d811672023d38fdb440bdd2e402575a52d8\"\u003e\u003ccode\u003e35a38d8\u003c/code\u003e\u003c/a\u003e fix(aria-required-children): explain presentational children that cannot be i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2ba0812fda58779ac285ba62fe9c27110a391f96\"\u003e\u003ccode\u003e2ba0812\u003c/code\u003e\u003c/a\u003e fix(target-size): ignore overlapping links with the same destination (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5428\"\u003e#5428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1e33c6caf879e204a664e85c6cd49f0c9c5e5d31\"\u003e\u003ccode\u003e1e33c6c\u003c/code\u003e\u003c/a\u003e fix(aria-allowed-attr): report case-sensitive aria attributes with non-lowerc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/f59642eddf14c93ae3c9c31d69bcd611229bedb4\"\u003e\u003ccode\u003ef59642e\u003c/code\u003e\u003c/a\u003e chore: bump mocha from 11.8.0 to 12.0.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6efcb6e8408dcee3d44ee813d66f557de145f373\"\u003e\u003ccode\u003e6efcb6e\u003c/code\u003e\u003c/a\u003e chore: bump emoji-regex from 10.6.0 to 11.0.0 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5427\"\u003e#5427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2da49a3fa8b474a0dd8069c9dc6b1aaf3b457df0\"\u003e\u003ccode\u003e2da49a3\u003c/code\u003e\u003c/a\u003e chore: bump the npm-low-risk group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/aa4a0a1966b8d858fcd7e9f7acffac39fac006e3\"\u003e\u003ccode\u003eaa4a0a1\u003c/code\u003e\u003c/a\u003e fix(aria-hidden-focus): suggest removing aria-hidden in the fail messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.13.0...v4.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.4.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle ex...\n\n_Description has been truncated_","html_url":"https://github.com/Tabsi1998/OmniFM/pull/513","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tabsi1998%2FOmniFM/issues/513","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/513/packages"},{"uuid":"5899845670","node_id":"PR_kwDOP3kikM8AAAABJCOUaw","number":1597,"state":"closed","title":"chore: bump the npm-minor-patch group with 66 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-18T07:52:23.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-17T15:18:50.000Z","updated_at":"2026-10-18T07:52:25.000Z","time_to_close":59613,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: bump","group_name":"npm-minor-patch","update_count":66,"packages":[{"name":"@effect/language-service","old_version":"0.87.3","new_version":"0.87.4","repository_url":"https://github.com/Effect-TS/language-service"},{"name":"@lingui/cli","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@oxlint/migrate","old_version":"1.86.0","new_version":"1.88.0","repository_url":"https://github.com/oxc-project/oxlint-migrate"},{"name":"@rnw-community/eslint-plugin","old_version":"2.12.7","new_version":"2.19.3","repository_url":"https://github.com/rnw-community/rnw-community"},{"name":"@types/react","old_version":"19.2.18","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react-dom","old_version":"19.2.5","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"jscpd","old_version":"5.3.3","new_version":"5.4.1","repository_url":"https://github.com/kucherenko/jscpd"},{"name":"knip","old_version":"6.38.0","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"oxfmt","old_version":"0.71.0","new_version":"0.73.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.86.0","new_version":"1.88.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"turbo","old_version":"2.11.5","new_version":"2.11.8","repository_url":"https://github.com/vercel/turborepo"},{"name":"effect","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@effect/atom-react","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@effect/sql-sqlite-react-native","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@expo/fingerprint","old_version":"0.21.2","new_version":"0.21.5","repository_url":"https://github.com/expo/expo"},{"name":"@expo/ui","old_version":"58.0.10","new_version":"58.0.16","repository_url":"https://github.com/expo/expo"},{"name":"@lingui/core","old_version":"6.5.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@lingui/react","old_version":"6.5.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@rnw-community/react-native-screen-chrome","old_version":"2.19.0","new_version":"2.19.1","repository_url":"https://github.com/rnw-community/rnw-community"},{"name":"expo-asset","old_version":"58.0.9","new_version":"58.0.14","repository_url":"https://github.com/expo/expo"},{"name":"expo-background-task","old_version":"58.0.9","new_version":"58.0.10","repository_url":"https://github.com/expo/expo"},{"name":"expo-blur","old_version":"58.0.2","new_version":"58.0.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-build-properties","old_version":"58.0.9","new_version":"58.0.10","repository_url":"https://github.com/expo/expo"},{"name":"expo-clipboard","old_version":"58.0.2","new_version":"58.0.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-constants","old_version":"58.0.9","new_version":"58.0.11","repository_url":"https://github.com/expo/expo"},{"name":"expo-contacts","old_version":"58.0.3","new_version":"58.0.7","repository_url":"https://github.com/expo/expo"},{"name":"expo-dev-client","old_version":"58.0.9","new_version":"58.0.13","repository_url":"https://github.com/expo/expo"},{"name":"expo-document-picker","old_version":"58.0.3","new_version":"58.0.4","repository_url":"https://github.com/expo/expo"},{"name":"expo-file-system","old_version":"58.0.4","new_version":"58.0.9","repository_url":"https://github.com/expo/expo"},{"name":"expo-haptics","old_version":"58.0.3","new_version":"58.0.6","repository_url":"https://github.com/expo/expo"},{"name":"expo-image","old_version":"58.0.9","new_version":"58.0.14","repository_url":"https://github.com/expo/expo"},{"name":"expo-linear-gradient","old_version":"58.0.2","new_version":"58.0.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-linking","old_version":"58.0.9","new_version":"58.0.12","repository_url":"https://github.com/expo/expo"},{"name":"expo-local-authentication","old_version":"58.0.1","new_version":"58.0.2","repository_url":"https://github.com/expo/expo"},{"name":"expo-localization","old_version":"58.0.2","new_version":"58.0.4","repository_url":"https://github.com/expo/expo"},{"name":"expo-notifications","old_version":"58.0.10","new_version":"58.1.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-router","old_version":"58.0.11","new_version":"58.0.18","repository_url":"https://github.com/expo/expo"},{"name":"expo-screen-capture","old_version":"58.0.4","new_version":"58.0.5","repository_url":"https://github.com/expo/expo"},{"name":"expo-secure-store","old_version":"58.0.1","new_version":"58.0.2","repository_url":"https://github.com/expo/expo"},{"name":"expo-sharing","old_version":"58.0.12","new_version":"58.0.17","repository_url":"https://github.com/expo/expo"},{"name":"expo-splash-screen","old_version":"58.0.3","new_version":"58.0.8","repository_url":"https://github.com/expo/expo"},{"name":"expo-system-ui","old_version":"58.0.4","new_version":"58.0.5","repository_url":"https://github.com/expo/expo"},{"name":"expo-task-manager","old_version":"58.0.10","new_version":"58.0.11","repository_url":"https://github.com/expo/expo"},{"name":"expo-updates","old_version":"58.0.12","new_version":"58.0.16","repository_url":"https://github.com/expo/expo"},{"name":"expo-widgets","old_version":"58.0.10","new_version":"58.0.16","repository_url":"https://github.com/expo/expo"},{"name":"react-hook-form","old_version":"7.77.0","new_version":"7.90.0","repository_url":"https://github.com/react-hook-form/react-hook-form"},{"name":"react-native-gesture-handler","old_version":"3.2.1","new_version":"3.3.0","repository_url":"https://github.com/software-mansion/react-native-gesture-handler"},{"name":"react-native-keyboard-controller","old_version":"1.22.4","new_version":"1.22.7","repository_url":"https://github.com/kirillzyusko/react-native-keyboard-controller"},{"name":"react-native-reanimated","old_version":"4.7.0","new_version":"4.7.1","repository_url":"https://github.com/software-mansion/react-native-reanimated"},{"name":"react-native-safe-area-context","old_version":"5.9.1","new_version":"5.10.1","repository_url":"https://github.com/appandflow/react-native-safe-area-context"},{"name":"react-native-screens","old_version":"4.28.0","new_version":"4.30.0","repository_url":"https://github.com/software-mansion/react-native-screens"},{"name":"react-native-web","old_version":"0.21.3","new_version":"0.21.4","repository_url":"https://github.com/necolas/react-native-web"},{"name":"uniwind","old_version":"1.12.1","new_version":"1.12.2","repository_url":"https://github.com/uni-stack/uniwind"},{"name":"@anthropic-ai/sdk","old_version":"0.129.0","new_version":"0.133.0","repository_url":"https://github.com/anthropics/anthropic-sdk-typescript"},{"name":"@effect/vitest","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@lingui/babel-plugin-lingui-macro","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@lingui/format-po","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"babel-preset-expo","old_version":"58.0.6","new_version":"58.0.13","repository_url":"https://github.com/expo/expo"},{"name":"vitest","old_version":"5.0.2","new_version":"5.0.4","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@effect/sql-sqlite-node","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@radix-ui/react-accordion","old_version":"1.2.20","new_version":"1.3.1","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@radix-ui/react-dropdown-menu","old_version":"2.1.24","new_version":"2.2.1","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@radix-ui/react-slot","old_version":"1.3.3","new_version":"1.5.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@lingui/loader","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"postcss","old_version":"8.5.28","new_version":"8.5.30","repository_url":"https://github.com/postcss/postcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-minor-patch group with 66 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@effect/language-service](https://github.com/Effect-TS/language-service) | `0.87.3` | `0.87.4` |\n| [@lingui/cli](https://github.com/lingui/js-lingui/tree/HEAD/packages/cli) | `6.8.0` | `6.9.1` |\n| [@oxlint/migrate](https://github.com/oxc-project/oxlint-migrate) | `1.86.0` | `1.88.0` |\n| [@rnw-community/eslint-plugin](https://github.com/rnw-community/rnw-community/tree/HEAD/packages/eslint-plugin) | `2.12.7` | `2.19.3` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [jscpd](https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd) | `5.3.3` | `5.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.38.0` | `6.41.0` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.71.0` | `0.73.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.86.0` | `1.88.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.5` | `2.11.8` |\n| [effect](https://github.com/Effect-TS/effect/tree/HEAD/packages/effect) | `4.0.0` | `4.0.4` |\n| [@effect/atom-react](https://github.com/Effect-TS/effect/tree/HEAD/packages/atom/react) | `4.0.0` | `4.0.4` |\n| [@effect/sql-sqlite-react-native](https://github.com/Effect-TS/effect/tree/HEAD/packages/sql/sqlite-react-native) | `4.0.0` | `4.0.4` |\n| [@expo/fingerprint](https://github.com/expo/expo/tree/HEAD/packages/@expo/fingerprint) | `0.21.2` | `0.21.5` |\n| [@expo/ui](https://github.com/expo/expo/tree/HEAD/packages/expo-ui) | `58.0.10` | `58.0.16` |\n| [@lingui/core](https://github.com/lingui/js-lingui/tree/HEAD/packages/core) | `6.5.0` | `6.9.1` |\n| [@lingui/react](https://github.com/lingui/js-lingui/tree/HEAD/packages/react) | `6.5.0` | `6.9.1` |\n| [@rnw-community/react-native-screen-chrome](https://github.com/rnw-community/rnw-community/tree/HEAD/packages/react-native-screen-chrome) | `2.19.0` | `2.19.1` |\n| [expo-asset](https://github.com/expo/expo/tree/HEAD/packages/expo-asset) | `58.0.9` | `58.0.14` |\n| [expo-background-task](https://github.com/expo/expo/tree/HEAD/packages/expo-background-task) | `58.0.9` | `58.0.10` |\n| [expo-blur](https://github.com/expo/expo/tree/HEAD/packages/expo-blur) | `58.0.2` | `58.0.3` |\n| [expo-build-properties](https://github.com/expo/expo/tree/HEAD/packages/expo-build-properties) | `58.0.9` | `58.0.10` |\n| [expo-clipboard](https://github.com/expo/expo/tree/HEAD/packages/expo-clipboard) | `58.0.2` | `58.0.3` |\n| [expo-constants](https://github.com/expo/expo/tree/HEAD/packages/expo-constants) | `58.0.9` | `58.0.11` |\n| [expo-contacts](https://github.com/expo/expo/tree/HEAD/packages/expo-contacts) | `58.0.3` | `58.0.7` |\n| [expo-dev-client](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-client) | `58.0.9` | `58.0.13` |\n| [expo-document-picker](https://github.com/expo/expo/tree/HEAD/packages/expo-document-picker) | `58.0.3` | `58.0.4` |\n| [expo-file-system](https://github.com/expo/expo/tree/HEAD/packages/expo-file-system) | `58.0.4` | `58.0.9` |\n| [expo-haptics](https://github.com/expo/expo/tree/HEAD/packages/expo-haptics) | `58.0.3` | `58.0.6` |\n| [expo-image](https://github.com/expo/expo/tree/HEAD/packages/expo-image) | `58.0.9` | `58.0.14` |\n| [expo-linear-gradient](https://github.com/expo/expo/tree/HEAD/packages/expo-linear-gradient) | `58.0.2` | `58.0.3` |\n| [expo-linking](https://github.com/expo/expo/tree/HEAD/packages/expo-linking) | `58.0.9` | `58.0.12` |\n| [expo-local-authentication](https://github.com/expo/expo/tree/HEAD/packages/expo-local-authentication) | `58.0.1` | `58.0.2` |\n| [expo-localization](https://github.com/expo/expo/tree/HEAD/packages/expo-localization) | `58.0.2` | `58.0.4` |\n| [expo-notifications](https://github.com/expo/expo/tree/HEAD/packages/expo-notifications) | `58.0.10` | `58.1.3` |\n| [expo-router](https://github.com/expo/expo/tree/HEAD/packages/expo-router) | `58.0.11` | `58.0.18` |\n| [expo-screen-capture](https://github.com/expo/expo/tree/HEAD/packages/expo-screen-capture) | `58.0.4` | `58.0.5` |\n| [expo-secure-store](https://github.com/expo/expo/tree/HEAD/packages/expo-secure-store) | `58.0.1` | `58.0.2` |\n| [expo-sharing](https://github.com/expo/expo/tree/HEAD/packages/expo-sharing) | `58.0.12` | `58.0.17` |\n| [expo-splash-screen](https://github.com/expo/expo/tree/HEAD/packages/expo-splash-screen) | `58.0.3` | `58.0.8` |\n| [expo-system-ui](https://github.com/expo/expo/tree/HEAD/packages/expo-system-ui) | `58.0.4` | `58.0.5` |\n| [expo-task-manager](https://github.com/expo/expo/tree/HEAD/packages/expo-task-manager) | `58.0.10` | `58.0.11` |\n| [expo-updates](https://github.com/expo/expo/tree/HEAD/packages/expo-updates) | `58.0.12` | `58.0.16` |\n| [expo-widgets](https://github.com/expo/expo/tree/HEAD/packages/expo-widgets) | `58.0.10` | `58.0.16` |\n| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.77.0` | `7.90.0` |\n| [react-native-gesture-handler](https://github.com/software-mansion/react-native-gesture-handler) | `3.2.1` | `3.3.0` |\n| [react-native-keyboard-controller](https://github.com/kirillzyusko/react-native-keyboard-controller) | `1.22.4` | `1.22.7` |\n| [react-native-reanimated](https://github.com/software-mansion/react-native-reanimated/tree/HEAD/packages/react-native-reanimated) | `4.7.0` | `4.7.1` |\n| [react-native-safe-area-context](https://github.com/appandflow/react-native-safe-area-context) | `5.9.1` | `5.10.1` |\n| [react-native-screens](https://github.com/software-mansion/react-native-screens) | `4.28.0` | `4.30.0` |\n| [react-native-web](https://github.com/necolas/react-native-web) | `0.21.3` | `0.21.4` |\n| [uniwind](https://github.com/uni-stack/uniwind) | `1.12.1` | `1.12.2` |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.129.0` | `0.133.0` |\n| [@effect/vitest](https://github.com/Effect-TS/effect/tree/HEAD/packages/vitest) | `4.0.0` | `4.0.4` |\n| [@lingui/babel-plugin-lingui-macro](https://github.com/lingui/js-lingui/tree/HEAD/packages/babel-plugin-lingui-macro) | `6.8.0` | `6.9.1` |\n| [@lingui/format-po](https://github.com/lingui/js-lingui/tree/HEAD/packages/format-po) | `6.8.0` | `6.9.1` |\n| [babel-preset-expo](https://github.com/expo/expo/tree/HEAD/packages/babel-preset-expo) | `58.0.6` | `58.0.13` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.2` | `5.0.4` |\n| [@effect/sql-sqlite-node](https://github.com/Effect-TS/effect/tree/HEAD/packages/sql/sqlite-node) | `4.0.0` | `4.0.4` |\n| [@radix-ui/react-accordion](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/accordion) | `1.2.20` | `1.3.1` |\n| [@radix-ui/react-dropdown-menu](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dropdown-menu) | `2.1.24` | `2.2.1` |\n| [@radix-ui/react-slot](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slot) | `1.3.3` | `1.5.0` |\n| [@lingui/loader](https://github.com/lingui/js-lingui/tree/HEAD/packages/loader) | `6.8.0` | `6.9.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.28` | `8.5.30` |\n\nUpdates `@effect/language-service` from 0.87.3 to 0.87.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Effect-TS/language-service/releases\"\u003e@​effect/language-service's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​effect/language-service\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.87.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/Effect-TS/language-service/pull/777\"\u003e#777\u003c/a\u003e \u003ca href=\"https://github.com/Effect-TS/language-service/commit/4478eec0725b45f6b913cb081ab591aafde48a06\"\u003e\u003ccode\u003e4478eec\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/CasperEngl\"\u003e\u003ccode\u003e@​CasperEngl\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003emissedPipeableOpportunity\u003c/code\u003e now reports calls whose result is used as a method receiver, and the calls nested inside them. These were skipped before:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// now reported: `Inner.pipe(...)`\nexport const B = Schema.NullishOr(Inner).annotations({ identifier: \u0026quot;B\u0026quot; });\n\u003cp\u003e// now reported, including the nested \u003ccode\u003eSchema.Array(Inner)\u003c/code\u003e\u003cbr /\u003e\nexport const C = Schema.NullishOr(\u003cbr /\u003e\nSchema.Struct({ x: Schema.Array(Inner) })\u003cbr /\u003e\n).annotations({ identifier: \u0026quot;C\u0026quot; });\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eOther diagnostics built on the same piping analysis, such as \u003ccode\u003eflatMapToMap\u003c/code\u003e and \u003ccode\u003estrictEffectProvide\u003c/code\u003e, now also check calls in these positions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Effect-TS/language-service/commit/0681c52790a878362a5dcd7fe116cbb594655a32\"\u003e\u003ccode\u003e0681c52\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/Effect-TS/language-service/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Effect-TS/language-service/commit/4478eec0725b45f6b913cb081ab591aafde48a06\"\u003e\u003ccode\u003e4478eec\u003c/code\u003e\u003c/a\u003e Report missed pipeable calls used as method receivers (\u003ca href=\"https://redirect.github.com/Effect-TS/language-service/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.87.3...@effect/language-service@0.87.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@lingui/cli` from 6.8.0 to 6.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lingui/js-lingui/releases\"\u003e@​lingui/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.9.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.9.0...v6.9.1\"\u003e6.9.1\u003c/a\u003e (2026-10-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eformat-csv:\u003c/strong\u003e read catalogs that end with a line break (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2696\"\u003e#2696\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/c3b7838a4a8ab734ee8c48458ea67af9a72e7528\"\u003ec3b7838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e fail early when native transform is used with Solid (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2708\"\u003e#2708\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/15549f3cec626ab59eac1de00cccbbb56730c84f\"\u003e15549f3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e strip query from module id before native macro transform (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2703\"\u003e#2703\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/10c1b79b6b287983593946fb965b8b0b558b96c1\"\u003e10c1b79\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e write experimental extractor catalogs in worker pool (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2715\"\u003e#2715\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/f7731f2a3e07145c45e2a62482ab3496302b5536\"\u003ef7731f2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.8.0...v6.9.0\"\u003e6.9.0\u003c/a\u003e (2026-10-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e use native macro transformer in experimental extractor (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2685\"\u003e#2685\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/71b439493cc351c8aa1df83a2e785afe3afed467\"\u003e71b4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e add native macro transformer (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2686\"\u003e#2686\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/2a576d324c222e318ae8ab5e49c57004ef675063\"\u003e2a576d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e resolve workers from caller source (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2682\"\u003e#2682\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/cac98805cec97dbd874fd5b90c5440143e26420d\"\u003ecac9880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eformat-po-gettext:\u003c/strong\u003e write one msgstr per plural form of locale (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2690\"\u003e#2690\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/9f400ef68f5a19de0a893e638594425373d8dbd7\"\u003e9f400ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esolid:\u003c/strong\u003e match macro-accepted placeholder names in formatElements (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2687\"\u003e#2687\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/f97cb9210cad63df10af3e921cefbbb30ed74857\"\u003ef97cb92\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/lingui/js-lingui/blob/main/packages/cli/CHANGELOG.md\"\u003e@​lingui/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.9.0...v6.9.1\"\u003e6.9.1\u003c/a\u003e (2026-10-09)\u003c/h2\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e write experimental extractor catalogs in worker pool (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2715\"\u003e#2715\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/f7731f2a3e07145c45e2a62482ab3496302b5536\"\u003ef7731f2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.8.0...v6.9.0\"\u003e6.9.0\u003c/a\u003e (2026-10-01)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e resolve workers from caller source (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2682\"\u003e#2682\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/cac98805cec97dbd874fd5b90c5440143e26420d\"\u003ecac9880\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse native macro transformer in experimental extractor (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2685\"\u003e#2685\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/71b439493cc351c8aa1df83a2e785afe3afed467\"\u003e71b4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e add native macro transformer (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2686\"\u003e#2686\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/2a576d324c222e318ae8ab5e49c57004ef675063\"\u003e2a576d3\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/lingui/js-lingui/commit/4d3390340b0e5700b2a18f60142f2ffa69e887a6\"\u003e\u003ccode\u003e4d33903\u003c/code\u003e\u003c/a\u003e chore(release): published v6.9.1 [skip ci] (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2716\"\u003e#2716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/f7731f2a3e07145c45e2a62482ab3496302b5536\"\u003e\u003ccode\u003ef7731f2\u003c/code\u003e\u003c/a\u003e perf(cli): write experimental extractor catalogs in worker pool (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2715\"\u003e#2715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/cd0ac4d9f76f1550823d0845e1c216b05895b96d\"\u003e\u003ccode\u003ecd0ac4d\u003c/code\u003e\u003c/a\u003e chore: bump native-tools to 0.1.6 (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/8af2ec8543f1ad7934e1d5f6c2b6714218fd9a90\"\u003e\u003ccode\u003e8af2ec8\u003c/code\u003e\u003c/a\u003e chore(release): published v6.9.0 [skip ci] (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2695\"\u003e#2695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/cf3d251f69683cd346e49d9d90eced95fea25f5d\"\u003e\u003ccode\u003ecf3d251\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​lingui/native-tools\u003c/code\u003e to 0.1.5 (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2691\"\u003e#2691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/2a576d324c222e318ae8ab5e49c57004ef675063\"\u003e\u003ccode\u003e2a576d3\u003c/code\u003e\u003c/a\u003e feat(vite-plugin): add native macro transformer (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/cac98805cec97dbd874fd5b90c5440143e26420d\"\u003e\u003ccode\u003ecac9880\u003c/code\u003e\u003c/a\u003e fix(cli): resolve workers from caller source (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2682\"\u003e#2682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/71b439493cc351c8aa1df83a2e785afe3afed467\"\u003e\u003ccode\u003e71b4394\u003c/code\u003e\u003c/a\u003e feat: use native macro transformer in experimental extractor (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2685\"\u003e#2685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lingui/js-lingui/commits/v6.9.1/packages/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@oxlint/migrate` from 1.86.0 to 1.88.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/releases\"\u003e@​oxlint/migrate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.88.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/compare/v1.87.0...v1.88.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev1.87.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/compare/v1.86.0...v1.87.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/097f3ca81511479298e05beb03f9845ea97b8c00\"\u003e\u003ccode\u003e097f3ca\u003c/code\u003e\u003c/a\u003e release: v1.88.0 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/a385f78e2db2291cf44b9139e465dd95099b4224\"\u003e\u003ccode\u003ea385f78\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/setup-node action to v7.1.0 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/f1ab401ee127c95326bd3a838dc06f1698702ddc\"\u003e\u003ccode\u003ef1ab401\u003c/code\u003e\u003c/a\u003e release: v1.87.0 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/582\"\u003e#582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/4f302f0c2c645af798ea6def120c431d04fb680c\"\u003e\u003ccode\u003e4f302f0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-plugin-jsdoc to v65 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/581\"\u003e#581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/compare/v1.86.0...v1.88.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@rnw-community/eslint-plugin` from 2.12.7 to 2.19.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rnw-community/rnw-community/releases\"\u003e@​rnw-community/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.19.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.2...v2.19.3\"\u003e2.19.3\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e support ESLint 10 and drop the unused typescript-eslint peer (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/642\"\u003e#642\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/a5a2146fa8c640cd82f1b38fbaf16fd8fe0750ef\"\u003ea5a2146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.19.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.1...v2.19.2\"\u003e2.19.2\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e stop importing package.json so the published entry loads (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/641\"\u003e#641\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/6e638f4c71e8517611f74c0eeb3c8af0648fffa9\"\u003e6e638f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/530\"\u003e#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.19.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.0...v2.19.1\"\u003e2.19.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-screen-chrome:\u003c/strong\u003e fade native edge bands through a gradient mask (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/640\"\u003e#640\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/11e308f4b4c4d4b14e65924f702536523a308a64\"\u003e11e308f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.19.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.18.0...v2.19.0\"\u003e2.19.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-screen-chrome:\u003c/strong\u003e additive content insets and consumer ref on the scroll view (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/627\"\u003e#627\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/07fc5bb615b3b9d223e24bd7cb137d37b5076008\"\u003e07fc5bb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.18.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.17.3...v2.18.0\"\u003e2.18.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-collapsible-header:\u003c/strong\u003e opt-in native scroll offset sync (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/628\"\u003e#628\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/27fc1b6254450e315ac992e342a4d4220bdef3c3\"\u003e27fc1b6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.17.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.17.2...v2.17.3\"\u003e2.17.3\u003c/a\u003e (2026-08-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecollapsible header safe-area layout, accessibility handoff, and shell hit testing (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/620\"\u003e#620\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/ac84c8c20b881d098479121e85f45cad76eae6fa\"\u003eac84c8c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/619\"\u003e#619\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/618\"\u003e#618\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/621\"\u003e#621\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.17.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.17.1...v2.17.2\"\u003e2.17.2\u003c/a\u003e (2026-08-28)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-screen-chrome:\u003c/strong\u003e preserve child ref cleanups in mergeRefs (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/617\"\u003e#617\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/53a54041852daf2d35335f007d7757f0dbd58069\"\u003e53a5404\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.17.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rnw-community/rnw-community/blob/master/packages/eslint-plugin/CHANGELOG.md\"\u003e@​rnw-community/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.2...v2.19.3\"\u003e2.19.3\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e support ESLint 10 and drop the unused typescript-eslint peer (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/642\"\u003e#642\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/a5a2146fa8c640cd82f1b38fbaf16fd8fe0750ef\"\u003ea5a2146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.1...v2.19.2\"\u003e2.19.2\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e stop importing package.json so the published entry loads (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/641\"\u003e#641\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/6e638f4c71e8517611f74c0eeb3c8af0648fffa9\"\u003e6e638f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/530\"\u003e#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.15.1...v2.15.2\"\u003e2.15.2\u003c/a\u003e (2026-08-27)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.14.1...v2.15.0\"\u003e2.15.0\u003c/a\u003e (2026-08-26)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.14.0...v2.14.1\"\u003e2.14.1\u003c/a\u003e (2026-08-19)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.12...v2.12.13\"\u003e2.12.13\u003c/a\u003e (2026-08-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.11...v2.12.12\"\u003e2.12.12\u003c/a\u003e (2026-08-09)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.9...v2.12.10\"\u003e2.12.10\u003c/a\u003e (2026-08-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enodenext spec type-check gate and ioredis import regression (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/541\"\u003e#541\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/e14ab3c1c8ead519008e7818eb1acd8066904407\"\u003ee14ab3c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/532\"\u003e#532\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.8...v2.12.9\"\u003e2.12.9\u003c/a\u003e (2026-08-05)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eemit explicit .js extensions so dist/esm resolves under real Node ESM (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/532\"\u003e#532\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/aa505b85416479a8cf9aeeeb8f77549f24c726b2\"\u003eaa505b8\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.7...v2.12.8\"\u003e2.12.8\u003c/a\u003e (2026-08-05)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/5c635876ca5e1fdc9319ecda2dab0b67d2b79244\"\u003e\u003ccode\u003e5c63587\u003c/code\u003e\u003c/a\u003e chore: release v2.19.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/6e94a08efd4481af9684fb192f3be28261ef3bfd\"\u003e\u003ccode\u003e6e94a08\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): support ESLint 10 and drop the unused typescript-eslint p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/cf0b01a439de10d93b694b216e41b3f17e7d802c\"\u003e\u003ccode\u003ecf0b01a\u003c/code\u003e\u003c/a\u003e chore: release v2.19.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/e10e175eac4e2de201e0fa6e8acc0b47217dd14c\"\u003e\u003ccode\u003ee10e175\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): stop importing package.json so the published entry loads ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/81c08a3178d30f8598ca08a26e592cd07e250e44\"\u003e\u003ccode\u003e81c08a3\u003c/code\u003e\u003c/a\u003e chore: release v2.15.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/3ddbf8d39540c619e2bf1b1a087ea07de1190bf0\"\u003e\u003ccode\u003e3ddbf8d\u003c/code\u003e\u003c/a\u003e test(nestjs-webpack-swc): close the coverage-straggler gap alongside eslint-p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/23b7fbdfa416c622a78c01b90740448ffbf4b1ac\"\u003e\u003ccode\u003e23b7fbd\u003c/code\u003e\u003c/a\u003e chore: release v2.15.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/477cefe6482ae7218fbaf4d29a4378a57a7da934\"\u003e\u003ccode\u003e477cefe\u003c/code\u003e\u003c/a\u003e chore: migrate from yarn to pnpm (\u003ca href=\"https://github.com/rnw-community/rnw-community/tree/HEAD/packages/eslint-plugin/issues/602\"\u003e#602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/12d19a040a22934671a688fefe72a2312f20f907\"\u003e\u003ccode\u003e12d19a0\u003c/code\u003e\u003c/a\u003e chore: release v2.14.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/b9b822ae2f32b6843f1449ea71a91081ca914308\"\u003e\u003ccode\u003eb9b822a\u003c/code\u003e\u003c/a\u003e test(eslint-plugin): cover logical-AND prop and handler call cases in no-comp...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rnw-community/rnw-community/commits/v2.19.3/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.18 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react-dom` from 19.2.5 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.4.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jscpd` from 5.3.3 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kucherenko/jscpd/releases\"\u003ejscpd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v5.4.1\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--similarity\u003c/code\u003e compares the structure of functions in 15 languages.\u003c/strong\u003e jscpd parses every function and method and normalizes its syntax tree: the names of the functions it calls and its operators stay, local names, field names and literals become markers, and comments and the parentheses around one expression drop out. Every subtree of that tree is a fingerprint, and two functions score the Jaccard index of their two fingerprint sets, so a renamed copy scores 1 and an edited statement lowers the score.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt reads JavaScript, TypeScript, Python, Java, Kotlin, Scala, C#, Go, Rust, C, C++, PHP, Ruby, Swift and Clojure, and the code blocks of Markdown files and the scripts of Vue, Svelte and Astro components. 5.4.0 compared JavaScript and TypeScript only.\u003c/li\u003e\n\u003cli\u003eThe search is exact: it finds every pair at or above the ratio. A function nested in another is part of it, and test files and Rust \u003ccode\u003emod tests\u003c/code\u003e are left out. Code between \u003ccode\u003ejscpd:ignore-start\u003c/code\u003e and \u003ccode\u003ejscpd:ignore-end\u003c/code\u003e, or matched by \u003ccode\u003e--ignore-pattern\u003c/code\u003e, adds nothing to a function (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1144\"\u003e#1144\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--similarity\u003c/code\u003e alone compares at 0.8. \u003ccode\u003e--min-nodes\u003c/code\u003e (config key \u003ccode\u003eminNodes\u003c/code\u003e, 20 by default) sets the smallest normalized tree that takes part, \u003ccode\u003e--min-lines\u003c/code\u003e applies as before and \u003ccode\u003e--min-tokens\u003c/code\u003e does not. The JSON report gives the node count of both functions as \u003ccode\u003enodes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eWhile the method was built, a check on 100 open-source repositories against a brute-force implementation of it, which scores every pair, found the same 58,405 pairs with the same scores, and jscpd's runs took 64.8 seconds on one thread against 498.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/similarity-demo/README.md\"\u003e\u003ccode\u003efixtures/similarity-demo\u003c/code\u003e\u003c/a\u003e has a runnable example in every language. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1129\"\u003e#1129\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1132\"\u003e#1132\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1134\"\u003e#1134\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1136\"\u003e#1136\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1139\"\u003e#1139\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1147\"\u003e#1147\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1148\"\u003e#1148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1149\"\u003e#1149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1150\"\u003e#1150\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1152\"\u003e#1152\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1155\"\u003e#1155\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1138\"\u003e#1138\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1141\"\u003e#1141\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1142\"\u003e#1142\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1143\"\u003e#1143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1145\"\u003e#1145\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1146\"\u003e#1146\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAn \u003ccode\u003eedn\u003c/code\u003e reporter.\u003c/strong\u003e \u003ccode\u003e-r edn\u003c/code\u003e writes \u003ccode\u003ejscpd-report.edn\u003c/code\u003e with \u003ccode\u003e{:candidates [...] :clones [...]}\u003c/code\u003e. The candidates are every pair \u003ccode\u003e--similarity\u003c/code\u003e found, most similar first, with their score, language, both locations and node counts, also the pairs a token clone already reports. The clones are the ones the other passes found, with their kind, method and score. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1151\"\u003e#1151\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1153\"\u003e#1153\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1156\"\u003e#1156\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--changed\u003c/code\u003e reports the clones of the files you are working on.\u003c/strong\u003e The changed files are the ones \u003ccode\u003egit status\u003c/code\u003e lists: staged, unstaged and untracked files, and a renamed file under its new name. jscpd still scans every file and reports a clone when one of its fragments is in a changed file, so a new file that copies an unchanged one shows up.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe first run saves the clones of HEAD to \u003ccode\u003e.jscpd-baseline.json\u003c/code\u003e at the repository root, or to the \u003ccode\u003e--baseline\u003c/code\u003e file, with the commit and a hash of the scan paths and options. Later runs read it and mark the clones HEAD did not have as \u003ccode\u003e[NEW]\u003c/code\u003e, so \u003ccode\u003e--fail-on-new-clones\u003c/code\u003e works with it. jscpd builds the file again after a commit or for other paths or options. A baseline file without a commit, such as one \u003ccode\u003e--update-baseline\u003c/code\u003e wrote, is used as it is.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--changed-only\u003c/code\u003e scans the changed files alone, and they match only one another.\u003c/li\u003e\n\u003cli\u003eBoth flags are command line only. \u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/changed-demo/README.md\"\u003e\u003ccode\u003efixtures/changed-demo\u003c/code\u003e\u003c/a\u003e walks through five steps. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1154\"\u003e#1154\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1172\"\u003e#1172\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--report-name\u003c/code\u003e sets the base name of the report files.\u003c/strong\u003e Linter aggregators such as MegaLinter run several tools into one reports folder, and two jscpd runs there overwrote each other's \u003ccode\u003ejscpd-report.json\u003c/code\u003e. \u003ccode\u003e--report-name megalinter-jscpd\u003c/code\u003e (config key \u003ccode\u003ereportName\u003c/code\u003e) names the \u003ccode\u003ejson\u003c/code\u003e, \u003ccode\u003exml\u003c/code\u003e, \u003ccode\u003ecsv\u003c/code\u003e, \u003ccode\u003ehtml\u003c/code\u003e, \u003ccode\u003emarkdown\u003c/code\u003e, \u003ccode\u003esarif\u003c/code\u003e and \u003ccode\u003eedn\u003c/code\u003e reports, and the GitHub Action takes it as the \u003ccode\u003ereport-name\u003c/code\u003e input. The badge, OpenMetrics and CodeClimate files keep their names. The name must be a plain file name: a path, an extension or an empty name is an error. Contributed by \u003ca href=\"https://github.com/MannXo\"\u003e\u003ccode\u003e@​MannXo\u003c/code\u003e\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1015\"\u003e#1015\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1058\"\u003e#1058\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe MCP server finds every type of clone and compares folders.\u003c/strong\u003e Every tool takes \u003ccode\u003ekinds\u003c/code\u003e: \u003ccode\u003eexact\u003c/code\u003e, \u003ccode\u003erenamed\u003c/code\u003e, \u003ccode\u003esimilar\u003c/code\u003e and \u003ccode\u003esemantic\u003c/code\u003e, or \u003ccode\u003etype1\u003c/code\u003e to \u003ccode\u003etype4\u003c/code\u003e. Without it, a tool reports what \u003ccode\u003ejscpd\u003c/code\u003e reports with the server's options. \u003ccode\u003ecompare_folders(left, right)\u003c/code\u003e returns the JSON report of \u003ccode\u003e--compare\u003c/code\u003e for two folders. The server speaks the MCP revision 2026-07-28, and clients of the older revisions keep working. \u003ccode\u003echeck_duplication\u003c/code\u003e now finds every copy of a snippet, where it used to match one of two, and \u003ccode\u003e--mcp\u003c/code\u003e no longer ignores \u003ccode\u003e--semantic\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1135\"\u003e#1135\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1137\"\u003e#1137\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e--similarity\u003c/code\u003e scores differ from 5.4.0.\u003c/strong\u003e The method is new, so a pair that scored 0.85 before can score lower now. Refresh a \u003ccode\u003e--threshold\u003c/code\u003e or a baseline that was set on the old results. \u003ccode\u003e--similarity 1\u003c/code\u003e now reports functions with the same structure; up to 5.4.0 a ratio of 1 turned the search off, and jscpd prints a warning that says so. The options that the method replaced never reached a release. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--semantic\u003c/code\u003e and \u003ccode\u003e--compare\u003c/code\u003e found functions named \u003ccode\u003eif\u003c/code\u003e in C, C++ and C# code.\u003c/strong\u003e Around \u003ccode\u003e#if\u003c/code\u003e and \u003ccode\u003e#ifdef\u003c/code\u003e, the grammars read \u003ccode\u003eelse if (…) { }\u003c/code\u003e as a function named \u003ccode\u003eif\u003c/code\u003e, or \u003ccode\u003ewhile\u003c/code\u003e or \u003ccode\u003eawait\u003c/code\u003e, and every \u003ccode\u003eif (\u003c/code\u003e in the scan counted as a call to it, so in \u003ccode\u003e--compare\u003c/code\u003e one such branch could collect thousands of callers. jscpd now drops a function whose type is the keyword \u003ccode\u003eelse\u003c/code\u003e. A word such as \u003ccode\u003eif\u003c/code\u003e, \u003ccode\u003ewhile\u003c/code\u003e or \u003ccode\u003ecatch\u003c/code\u003e before a parenthesis counts as a call only as a member, as in \u003ccode\u003epromise.catch(f)\u003c/code\u003e. Reported by \u003ca href=\"https://github.com/MysterionRise\"\u003e\u003ccode\u003e@​MysterionRise\u003c/code\u003e\u003c/a\u003e, fixed by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1163\"\u003e#1163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1188\"\u003e#1188\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThree \u003ccode\u003e--compare\u003c/code\u003e fixes found on Apache Lucene and Lucene.NET\u003c/strong\u003e, all by \u003ca href=\"https://github.com/MysterionRise\"\u003e\u003ccode\u003e@​MysterionRise\u003c/code\u003e\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTest helpers now count toward the namesakes of a call. A private \u003ccode\u003eassertEquals\u003c/code\u003e in Lucene's benchmark code took all 6,127 calls to the name, 6,126 of them from tests. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1165\"\u003e#1165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe HTML map cuts a long folder label in its middle, so the folders of one module no longer read alike. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1166\"\u003e#1166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA .NET test project counts as tests wherever \u003ccode\u003eTests\u003c/code\u003e sits in its dotted name, as in \u003ccode\u003eLucene.Net.Tests.Analysis.Common\u003c/code\u003e. Before, 6,736 functions in 771 files of such projects counted as code. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1167\"\u003e#1167\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe \u003ccode\u003e--compare\u003c/code\u003e reports disagreed.\u003c/strong\u003e The console and the HTML map now round a share the same way, so 60 of 147 functions read 41% in both. A Tests block appears only when a side has a test that counts, and a declaration without a body no longer counts as a function. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1130\"\u003e#1130\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--dead-code\u003c/code\u003e reported an import used only in a TSDoc link as unused.\u003c/strong\u003e \u003ccode\u003e{@link X}\u003c/code\u003e, \u003ccode\u003e{@linkcode X}\u003c/code\u003e and \u003ccode\u003e{@linkplain X}\u003c/code\u003e now count as uses of \u003ccode\u003eX\u003c/code\u003e, as TypeScript counts them, and in JavaScript files the JSDoc types of \u003ccode\u003e@param\u003c/code\u003e, \u003ccode\u003e@returns\u003c/code\u003e, \u003ccode\u003e@type\u003c/code\u003e and the like count too. A name in the docs credits the import only, so a function that only a link names is still reported. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1170\"\u003e#1170\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1171\"\u003e#1171\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--ignore-pattern\u003c/code\u003e dropped the wrong tokens in code blocks.\u003c/strong\u003e jscpd computed the ranges on the host file but tokenized Markdown fences, component scripts and Razor blocks from the block's own offsets. The ranges now move to the block. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1144\"\u003e#1144\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003egit commands run from a hook acted on the hook's repository.\u003c/strong\u003e jscpd's git subprocesses now drop the variables git exports to hooks, such as \u003ccode\u003eGIT_DIR\u003c/code\u003e and \u003ccode\u003eGIT_INDEX_FILE\u003c/code\u003e; before, \u003ccode\u003e--baseline-from-ref\u003c/code\u003e in a pre-commit hook wrote the base tree into the commit's index. A \u003ccode\u003e--history\u003c/code\u003e range or a \u003ccode\u003e--baseline-from-ref\u003c/code\u003e ref that starts with \u003ccode\u003e-\u003c/code\u003e is refused, so a scanned repository's config can no longer pass git an option such as \u003ccode\u003e--output=\u0026lt;file\u0026gt;\u003c/code\u003e. The worktree cleanup no longer prunes the user's other worktrees, and an API key that an embeddings API echoes in an error is redacted. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1169\"\u003e#1169\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe Nix flake warned about \u003ccode\u003estdenv.isDarwin\u003c/code\u003e.\u003c/strong\u003e It uses \u003ccode\u003estdenv.hostPlatform.isDarwin\u003c/code\u003e now. Contributed by \u003ca href=\"https://github.com/mlavrinenko\"\u003e\u003ccode\u003e@​mlavrinenko\u003c/code\u003e\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1133\"\u003e#1133\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThe minimum Rust version is 1.97.\u003c/strong\u003e oxc 0.153 and ruff 0.0.16 need it. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1187\"\u003e#1187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ejscpd depends on basta 0.3.1, which has the dead-code fixes above.\u003c/li\u003e\n\u003cli\u003eThe tests check behavior instead of implementation details, and CI measures line coverage (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1168\"\u003e#1168\u003c/a\u003e). The release retries \u003ccode\u003ecargo publish\u003c/code\u003e while the crates.io index catches up (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1123\"\u003e#1123\u003c/a\u003e), and the \u003ccode\u003ecompare-codebases\u003c/code\u003e skill keeps vendored and build folders out of a comparison (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1124\"\u003e#1124\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/095d6ca33e9f291c144bb05ef653b2bfdc3c1453\"\u003e\u003ccode\u003e095d6ca\u003c/code\u003e\u003c/a\u003e release: cpd-v5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/b6f832c62cf02b574ea9cf24e013cfeb17366a35\"\u003e\u003ccode\u003eb6f832c\u003c/code\u003e\u003c/a\u003e release: cpd-v5.4.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kucherenko/jscpd/commits/v5.4.1/rust/jscpd\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.38.0 to 6.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.41.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Flue plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2124\"\u003e#2124\u003c/a\u003e) (c52737d45ff008d6d96d4c2d4182048a2aa64602) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch all React Native config file extensions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2125\"\u003e#2125\u003c/a\u003e) (898fdffb37ae0bdb3d2653038eb10c2e01edf983) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eConsolidate fixture guidance and extend plugin guidelines (37a4ca04645f71f599e9b530676543f9893bd641)\u003c/li\u003e\n\u003cli\u003eAdd AI contribution policy (b15f0fbb090ea0427240880da2bec602c11cea50)\u003c/li\u003e\n\u003cli\u003eUse files from tsconfig references with --use-tsconfig-files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2126\"\u003e#2126\u003c/a\u003e) (9618185eafb0c5cb365035f89e9d66718642338a) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCompile gitignore walk patterns once (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2127\"\u003e#2127\u003c/a\u003e) (09c80299779fa5abe133ee8f82051c25870007b8)\u003c/li\u003e\n\u003cli\u003eDrop readdir order dependent case from gitignore walk test (ab3da8ff95a05a0fbfba6873b64559017d038aa7)\u003c/li\u003e\n\u003cli\u003efix: recognize binaries from absent optional dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2120\"\u003e#2120\u003c/a\u003e) (d908556eaa98bf9637a2744d2de089bab31b8dbc) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply a directory's .gitignore before walking its subdirectories (9560c07862d4c72dc956371b9a77e049d83ed4a9)\u003c/li\u003e\n\u003cli\u003eApply nested .gitignore files to workspace globs (23d35421dd67c405254f2f8bcbc09b18d224e338)\u003c/li\u003e\n\u003cli\u003eUpdate gitignore matcher and walk notes (499f85f4544457dc7c51c4a7612fea69773ef3dd)\u003c/li\u003e\n\u003cli\u003eKeep the cwd out of glob patterns and matchers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2107\"\u003e#2107\u003c/a\u003e) (1e82fb807c88cc46951f2028214569f9a2eb0061) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport function configs in Rsbuild plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2122\"\u003e#2122\u003c/a\u003e) (38071db87e9023e5dd61173ce32f9020a1a5d7ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSeparate Expo Router plugin; remove expo-router entry points from Expo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2128\"\u003e#2128\u003c/a\u003e) (ad541764ca7d3c062236661677d1d66d5275122f) - thanks \u003ca href=\"https://github.com/jjjjonathan\"\u003e\u003ccode\u003e@​jjjjonathan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eLink Expo config discovery source and fold expo6 fixture into expo-router (2ddeca50956790b10580e835df50bc980cce961d)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (c9f79148f7165314a7b3c801eff926d1d0d6b060)\u003c/li\u003e\n\u003cli\u003eMigrate shell script parsing to unbash v5 (4942cca05303410120a007a5bb23b0c2da725da1)\u003c/li\u003e\n\u003cli\u003eHandle updated Formatly result types (ca9e8315e003dae69646f7500fa98ab9ed403b92)\u003c/li\u003e\n\u003cli\u003ePreserve TypeScript 5.0 compatibility in shell AST filters (957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b)\u003c/li\u003e\n\u003cli\u003ePoint timerify crashes to the Node.js version that fixes them (0c235de096fd3361eb918d1290241fa32a62f089)\u003c/li\u003e\n\u003cli\u003eCopy importer identifier sets into the reverse index (2860d678a87dddb5ad56299119fb6e108ceffa12)\u003c/li\u003e\n\u003cli\u003eClear the resolver cache at the start of a run (10b5bb82ecd03c88b68ace58a7aea23d188cc5f1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.40.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve local and scope-only extends in commitlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2079\"\u003e#2079\u003c/a\u003e) (e667552d4e7122094565d3ad9ae407acfc0ac684) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eClarify worktree guides and plugin review preparation (dd02baf020d23af1d47c44c1a726a61014b270bd)\u003c/li\u003e\n\u003cli\u003eDocument stale cache results and workarounds (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2078\"\u003e#2078\u003c/a\u003e) (3573749a5d5bbee6305f207cc7d1b72c200c8c9b)\u003c/li\u003e\n\u003cli\u003eExclude test files from package entries in production mode (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2082\"\u003e#2082\u003c/a\u003e) (b86f45f9d38d4b83baad98e43983e08910e00c78) - thanks \u003ca href=\"https://github.com/jonathanong\"\u003e\u003ccode\u003e@​jonathanong\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Serverless file variables in plugins and functions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2074\"\u003e#2074\u003c/a\u003e) (99cac789694ea8d76cd38184d2d7c95f34315224) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve locally referenced namespace members (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2070\"\u003e#2070\u003c/a\u003e) (f0f36df766cd74ad7ae03fbf8940bdeb792439be) - thanks \u003ca href=\"https://github.com/MFA-G\"\u003e\u003ccode\u003e@​MFA-G\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: add the commitlint-plugin prefix to Commitlint plugin names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2096\"\u003e#2096\u003c/a\u003e) (3decd35ff0a4220c7cd2c9142dc69c89794b3927) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match .mjs config files in the simple-git-hooks plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2097\"\u003e#2097\u003c/a\u003e) (79a87d92396c2444ae4ef3c780c0d2e18cd73e4c) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match capacitor.config.js in the Capacitor plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2098\"\u003e#2098\u003c/a\u003e) (4a5ec96d818117a7f2eafa027e3b707bc97573a8) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typescript): ArrayExpression (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2099\"\u003e#2099\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2100\"\u003e#2100\u003c/a\u003e) (87fea9f201c2fd864eafa31bdad68910a8a177ba) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve development entry pattern groups (7c229f4e1918075d801ed3b046fa022b1d3bcc41)\u003c/li\u003e\n\u003cli\u003eResolve null package exports to the files they hide (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2084\"\u003e#2084\u003c/a\u003e, close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2085\"\u003e#2085\u003c/a\u003e) (5bd46260feb60b957c2631bc72375ef192e441e0)\u003c/li\u003e\n\u003cli\u003ePin InvokeAI ecosystem test (4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)\u003c/li\u003e\n\u003cli\u003efix(utils): add jsx extension to source mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2087\"\u003e#2087\u003c/a\u003e) (eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(serverless-framework): handle explicit extensions in handler paths (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2091\"\u003e#2091\u003c/a\u003e) (e9393965be7563640921e3f20c946fcb9132e1cb) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAnnotate published manifest return type (d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)\u003c/li\u003e\n\u003cli\u003eAdd Jasmine plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2105\"\u003e#2105\u003c/a\u003e) (9ed14911d5c5752aef36878ab3d515c35d1ac6bc) - thanks \u003ca href=\"https://github.com/SulimanAbdulrazzaq\"\u003e\u003ccode\u003e@​SulimanAbdulrazzaq\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve workspace exports with fallback arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2088\"\u003e#2088\u003c/a\u003e) (49c2aaeaba4544f25cc02c19d5da5152a8ef68c3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(postcss): ignore disabled plugins in object configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2092\"\u003e#2092\u003c/a\u003e) (b84fdf8a8ee676ee45f4313009ebfe969d034a88) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e) (1af96bce36b0d0d07791de100c7f2ea5672a478c) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e) (01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e) (dc3a47e2d810808314454b8f5c23070f136d15d3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDon't let a self-closing \u003c!-- raw HTML omitted --\u003e swallow the next \u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e) (989fdadde0a068d1d1c52e26a8327b99c5de0668) - thanks \u003ca href=\"https://github.com/maniflopi\"\u003e\u003ccode\u003e@​maniflopi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e) (6d44e532ed6320cdf4f4c3253b26e155c4d26ba7) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e) (a5f4cfbff7f263a0ea8d5461a3f9216cbef38602) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/13d7f21e8ec5b30d8fe6d8377c9012b9db96f871\"\u003e\u003ccode\u003e13d7f21\u003c/code\u003e\u003c/a\u003e Release knip@6.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/10b5bb82ecd03c88b68ace58a7aea23d188cc5f1\"\u003e\u003ccode\u003e10b5bb8\u003c/code\u003e\u003c/a\u003e Clear the resolver cache at the start of a run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2860d678a87dddb5ad56299119fb6e108ceffa12\"\u003e\u003ccode\u003e2860d67\u003c/code\u003e\u003c/a\u003e Copy importer identifier sets into the reverse index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/0c235de096fd3361eb918d1290241fa32a62f089\"\u003e\u003ccode\u003e0c235de\u003c/code\u003e\u003c/a\u003e Point timerify crashes to the Node.js version that fixes them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b\"\u003e\u003ccode\u003e957ac7b\u003c/code\u003e\u003c/a\u003e Preserve TypeScript 5.0 compatibility in shell AST filters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ca9e8315e003dae69646f7500fa98ab9ed403b92\"\u003e\u003ccode\u003eca9e831\u003c/code\u003e\u003c/a\u003e Handle updated Formatly result types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/4942cca05303410120a007a5bb23b0c2da725da1\"\u003e\u003ccode\u003e4942cca\u003c/code\u003e\u003c/a\u003e Migrate shell script parsing to unbash v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c9f79148f7165314a7b3c801eff926d1d0d6b060\"\u003e\u003ccode\u003ec9f7914\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2ddeca50956790b10580e835df50bc980cce961d\"\u003e\u003ccode\u003e2ddeca5\u003c/code\u003e\u003c/a\u003e Link Expo config discovery source and fold expo6 fixture into expo-router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ad541764ca7d3c062236661677d1d66d5275122f\"\u003e\u003ccode\u003ead54176\u003c/code\u003e\u003c/a\u003e Separate Expo Router plugin; remove expo-router entry points from Expo plugin...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.41.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxfmt` from 0.71.0 to 0.73.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/releases\"\u003eoxfmt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eoxfmt v0.73.0\u003c/h2\u003e\n\u003ch3\u003e💥 BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1ef2888 oxfmt: [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Improve \u003ccode\u003e--migrate prettier\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27444\"\u003e#27444\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003ec2e6d5f formatter_toml: [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003eoxc_formatter_toml\u003c/code\u003e crate wrapping \u003ccode\u003eoxc-toml\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27365\"\u003e#27365\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ece4e8dc oxfmt: Support \u003ccode\u003eoverrides[].parser\u003c/code\u003e -\u0026gt; \u003ccode\u003eassociations[].language\u003c/code\u003e migration (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27475\"\u003e#27475\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003ea495e82 oxfmt: Support \u003ccode\u003eassociations\u003c/code\u003e config to specify language over filepath (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27437\"\u003e#27437\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e77f8156 oxfmt/lsp: Show root config errors to LSP client (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/26014\"\u003e#26014\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003cli\u003ec1adce3 oxfmt/lsp: Support astro language (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27388\"\u003e#27388\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e4f024a1 oxfmt: Support astro plugin in \u003ccode\u003e--migrate prettier\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27387\"\u003e#27387\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e5db28fa oxfmt: Support Astro via \u003ccode\u003eprettier-plugin-astro@1.x\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27386\"\u003e#27386\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e76ec31b formatter_css: Support css-in-js placeholders in property names and conditions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27640\"\u003e#27640\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e99bb268 formatter_css: Keep css-in-js placeholder as media type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27639\"\u003e#27639\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e372849e formatter: Fix crash on css-in-js comment containing interpolation (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27638\"\u003e#27638\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003eda692b8 formatter: Wrap \u003ccode\u003eexport default class|function\u003c/code\u003e consistently (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27628\"\u003e#27628\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e21dee96 formatter: Keep parens around \u003ccode\u003eTSInstantiationExpression\u003c/code\u003e before ! and export (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27626\"\u003e#27626\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003eb6eb914 oxfmt: Normalize symlink targets in CLI snapshots (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27498\"\u003e#27498\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5dae56f oxfmt/lsp: Return error on config resolving error (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/26003\"\u003e#26003\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003cli\u003e676cc60 formatter/jsdoc: Preserve paragraphs by checking \u003ccode\u003e@description\u003c/code\u003e tag width (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27439\"\u003e#27439\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e2349a31 oxfmt: Follow symlinked configs in discovery (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27389\"\u003e#27389\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003edb360de oxfmt: Load svelte plugin for svelte-in-mdx-in-md (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27369\"\u003e#27369\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e6e573f9 oxlint,oxfmt: Set stderr blocking (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27363\"\u003e#27363\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003ed730fdd formatter_core: Leave blank frontmatter without dispatcher (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27359\"\u003e#27359\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e4a28c91 formatter_css: Clarify \u003ccode\u003emissed-semicolon-accepted\u003c/code\u003e divergence (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27433\"\u003e#27433\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e408d87f oxfmt: Simplify oxfmtrc docs (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27432\"\u003e#27432\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e902e188 oxfmt: Update how \u003ccode\u003eembeddedLanguageFormatting\u003c/code\u003e option works (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27362\"\u003e#27362\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e37b3c48 formatter_markdown: Fix DIVERGENCES.md examples and slug to match behavior (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27358\"\u003e#27358\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eoxfmt v0.72.0\u003c/h2\u003e\n\u003ch3\u003e💥 BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ee2c68b1 oxfmt: [\u003cstrong\u003eBREAKING\u003c/s...\n\n_Description has been truncated_","html_url":"https://github.com/budgie-at/budgie/pull/1597","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/budgie-at%2Fbudgie/issues/1597","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1597/packages"},{"uuid":"5893892999","node_id":"PR_kwDORzmY388AAAABI9oovQ","number":549,"state":"closed","title":"Bump the dev-dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-17T02:20:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-17T02:16:31.000Z","updated_at":"2026-10-17T02:20:36.000Z","time_to_close":244,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-dependencies","update_count":9,"packages":[{"name":"@microsoft/api-extractor","old_version":"7.59.3","new_version":"7.59.4","repository_url":"https://github.com/microsoft/rushstack"},{"name":"@types/node","old_version":"26.6.4","new_version":"26.6.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.39.0","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"turbo","old_version":"2.11.6","new_version":"2.11.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.71.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-react","old_version":"6.1.1","new_version":"6.1.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"vite","old_version":"8.3.2","new_version":"8.3.4","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor) | `7.59.3` | `7.59.4` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.4` | `26.6.5` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.39.0` | `6.41.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.6` | `2.11.7` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.71.0` | `8.71.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.1.1` | `6.1.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.1` | `30.1.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.2` | `8.3.4` |\n\n\nUpdates `@microsoft/api-extractor` from 7.59.3 to 7.59.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md\"\u003e@​microsoft/api-extractor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.59.4\u003c/h2\u003e\n\u003cp\u003eTue, 06 Oct 2026 00:04:37 GMT\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eVersion update only\u003c/em\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\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/rushstack/commits/HEAD/apps/api-extractor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 26.6.4 to 26.6.5\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 `eslint-plugin-n` from 18.4.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.39.0 to 6.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.41.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Flue plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2124\"\u003e#2124\u003c/a\u003e) (c52737d45ff008d6d96d4c2d4182048a2aa64602) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch all React Native config file extensions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2125\"\u003e#2125\u003c/a\u003e) (898fdffb37ae0bdb3d2653038eb10c2e01edf983) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eConsolidate fixture guidance and extend plugin guidelines (37a4ca04645f71f599e9b530676543f9893bd641)\u003c/li\u003e\n\u003cli\u003eAdd AI contribution policy (b15f0fbb090ea0427240880da2bec602c11cea50)\u003c/li\u003e\n\u003cli\u003eUse files from tsconfig references with --use-tsconfig-files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2126\"\u003e#2126\u003c/a\u003e) (9618185eafb0c5cb365035f89e9d66718642338a) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCompile gitignore walk patterns once (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2127\"\u003e#2127\u003c/a\u003e) (09c80299779fa5abe133ee8f82051c25870007b8)\u003c/li\u003e\n\u003cli\u003eDrop readdir order dependent case from gitignore walk test (ab3da8ff95a05a0fbfba6873b64559017d038aa7)\u003c/li\u003e\n\u003cli\u003efix: recognize binaries from absent optional dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2120\"\u003e#2120\u003c/a\u003e) (d908556eaa98bf9637a2744d2de089bab31b8dbc) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply a directory's .gitignore before walking its subdirectories (9560c07862d4c72dc956371b9a77e049d83ed4a9)\u003c/li\u003e\n\u003cli\u003eApply nested .gitignore files to workspace globs (23d35421dd67c405254f2f8bcbc09b18d224e338)\u003c/li\u003e\n\u003cli\u003eUpdate gitignore matcher and walk notes (499f85f4544457dc7c51c4a7612fea69773ef3dd)\u003c/li\u003e\n\u003cli\u003eKeep the cwd out of glob patterns and matchers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2107\"\u003e#2107\u003c/a\u003e) (1e82fb807c88cc46951f2028214569f9a2eb0061) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport function configs in Rsbuild plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2122\"\u003e#2122\u003c/a\u003e) (38071db87e9023e5dd61173ce32f9020a1a5d7ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSeparate Expo Router plugin; remove expo-router entry points from Expo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2128\"\u003e#2128\u003c/a\u003e) (ad541764ca7d3c062236661677d1d66d5275122f) - thanks \u003ca href=\"https://github.com/jjjjonathan\"\u003e\u003ccode\u003e@​jjjjonathan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eLink Expo config discovery source and fold expo6 fixture into expo-router (2ddeca50956790b10580e835df50bc980cce961d)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (c9f79148f7165314a7b3c801eff926d1d0d6b060)\u003c/li\u003e\n\u003cli\u003eMigrate shell script parsing to unbash v5 (4942cca05303410120a007a5bb23b0c2da725da1)\u003c/li\u003e\n\u003cli\u003eHandle updated Formatly result types (ca9e8315e003dae69646f7500fa98ab9ed403b92)\u003c/li\u003e\n\u003cli\u003ePreserve TypeScript 5.0 compatibility in shell AST filters (957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b)\u003c/li\u003e\n\u003cli\u003ePoint timerify crashes to the Node.js version that fixes them (0c235de096fd3361eb918d1290241fa32a62f089)\u003c/li\u003e\n\u003cli\u003eCopy importer identifier sets into the reverse index (2860d678a87dddb5ad56299119fb6e108ceffa12)\u003c/li\u003e\n\u003cli\u003eClear the resolver cache at the start of a run (10b5bb82ecd03c88b68ace58a7aea23d188cc5f1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.40.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve local and scope-only extends in commitlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2079\"\u003e#2079\u003c/a\u003e) (e667552d4e7122094565d3ad9ae407acfc0ac684) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eClarify worktree guides and plugin review preparation (dd02baf020d23af1d47c44c1a726a61014b270bd)\u003c/li\u003e\n\u003cli\u003eDocument stale cache results and workarounds (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2078\"\u003e#2078\u003c/a\u003e) (3573749a5d5bbee6305f207cc7d1b72c200c8c9b)\u003c/li\u003e\n\u003cli\u003eExclude test files from package entries in production mode (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2082\"\u003e#2082\u003c/a\u003e) (b86f45f9d38d4b83baad98e43983e08910e00c78) - thanks \u003ca href=\"https://github.com/jonathanong\"\u003e\u003ccode\u003e@​jonathanong\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Serverless file variables in plugins and functions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2074\"\u003e#2074\u003c/a\u003e) (99cac789694ea8d76cd38184d2d7c95f34315224) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve locally referenced namespace members (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2070\"\u003e#2070\u003c/a\u003e) (f0f36df766cd74ad7ae03fbf8940bdeb792439be) - thanks \u003ca href=\"https://github.com/MFA-G\"\u003e\u003ccode\u003e@​MFA-G\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: add the commitlint-plugin prefix to Commitlint plugin names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2096\"\u003e#2096\u003c/a\u003e) (3decd35ff0a4220c7cd2c9142dc69c89794b3927) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match .mjs config files in the simple-git-hooks plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2097\"\u003e#2097\u003c/a\u003e) (79a87d92396c2444ae4ef3c780c0d2e18cd73e4c) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match capacitor.config.js in the Capacitor plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2098\"\u003e#2098\u003c/a\u003e) (4a5ec96d818117a7f2eafa027e3b707bc97573a8) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typescript): ArrayExpression (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2099\"\u003e#2099\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2100\"\u003e#2100\u003c/a\u003e) (87fea9f201c2fd864eafa31bdad68910a8a177ba) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve development entry pattern groups (7c229f4e1918075d801ed3b046fa022b1d3bcc41)\u003c/li\u003e\n\u003cli\u003eResolve null package exports to the files they hide (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2084\"\u003e#2084\u003c/a\u003e, close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2085\"\u003e#2085\u003c/a\u003e) (5bd46260feb60b957c2631bc72375ef192e441e0)\u003c/li\u003e\n\u003cli\u003ePin InvokeAI ecosystem test (4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)\u003c/li\u003e\n\u003cli\u003efix(utils): add jsx extension to source mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2087\"\u003e#2087\u003c/a\u003e) (eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(serverless-framework): handle explicit extensions in handler paths (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2091\"\u003e#2091\u003c/a\u003e) (e9393965be7563640921e3f20c946fcb9132e1cb) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAnnotate published manifest return type (d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)\u003c/li\u003e\n\u003cli\u003eAdd Jasmine plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2105\"\u003e#2105\u003c/a\u003e) (9ed14911d5c5752aef36878ab3d515c35d1ac6bc) - thanks \u003ca href=\"https://github.com/SulimanAbdulrazzaq\"\u003e\u003ccode\u003e@​SulimanAbdulrazzaq\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve workspace exports with fallback arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2088\"\u003e#2088\u003c/a\u003e) (49c2aaeaba4544f25cc02c19d5da5152a8ef68c3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(postcss): ignore disabled plugins in object configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2092\"\u003e#2092\u003c/a\u003e) (b84fdf8a8ee676ee45f4313009ebfe969d034a88) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e) (1af96bce36b0d0d07791de100c7f2ea5672a478c) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e) (01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e) (dc3a47e2d810808314454b8f5c23070f136d15d3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDon't let a self-closing \u003c!-- raw HTML omitted --\u003e swallow the next \u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e) (989fdadde0a068d1d1c52e26a8327b99c5de0668) - thanks \u003ca href=\"https://github.com/maniflopi\"\u003e\u003ccode\u003e@​maniflopi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e) (6d44e532ed6320cdf4f4c3253b26e155c4d26ba7) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e) (a5f4cfbff7f263a0ea8d5461a3f9216cbef38602) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/13d7f21e8ec5b30d8fe6d8377c9012b9db96f871\"\u003e\u003ccode\u003e13d7f21\u003c/code\u003e\u003c/a\u003e Release knip@6.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/10b5bb82ecd03c88b68ace58a7aea23d188cc5f1\"\u003e\u003ccode\u003e10b5bb8\u003c/code\u003e\u003c/a\u003e Clear the resolver cache at the start of a run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2860d678a87dddb5ad56299119fb6e108ceffa12\"\u003e\u003ccode\u003e2860d67\u003c/code\u003e\u003c/a\u003e Copy importer identifier sets into the reverse index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/0c235de096fd3361eb918d1290241fa32a62f089\"\u003e\u003ccode\u003e0c235de\u003c/code\u003e\u003c/a\u003e Point timerify crashes to the Node.js version that fixes them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b\"\u003e\u003ccode\u003e957ac7b\u003c/code\u003e\u003c/a\u003e Preserve TypeScript 5.0 compatibility in shell AST filters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ca9e8315e003dae69646f7500fa98ab9ed403b92\"\u003e\u003ccode\u003eca9e831\u003c/code\u003e\u003c/a\u003e Handle updated Formatly result types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/4942cca05303410120a007a5bb23b0c2da725da1\"\u003e\u003ccode\u003e4942cca\u003c/code\u003e\u003c/a\u003e Migrate shell script parsing to unbash v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c9f79148f7165314a7b3c801eff926d1d0d6b060\"\u003e\u003ccode\u003ec9f7914\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2ddeca50956790b10580e835df50bc980cce961d\"\u003e\u003ccode\u003e2ddeca5\u003c/code\u003e\u003c/a\u003e Link Expo config discovery source and fold expo6 fixture into expo-router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ad541764ca7d3c062236661677d1d66d5275122f\"\u003e\u003ccode\u003ead54176\u003c/code\u003e\u003c/a\u003e Separate Expo Router plugin; remove expo-router entry points from Expo plugin...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.41.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.11.6 to 2.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.11.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Release Turborepo 2.11.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14352\"\u003evercel/turborepo#14352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Pass SDKROOT through to repository tasks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14353\"\u003evercel/turborepo#14353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-vite-module-federation example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14349\"\u003evercel/turborepo#14349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Ignore Vercel OIDC token rotation in .env.local cache inputs by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14356\"\u003evercel/turborepo#14356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\"\u003ehttps://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/547747fb39719ebdc405074b8c378a6341aaabfc\"\u003e\u003ccode\u003e547747f\u003c/code\u003e\u003c/a\u003e publish 2.11.7 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3ce82f57d27f37877f09fc1200c2fda64b9f3596\"\u003e\u003ccode\u003e3ce82f5\u003c/code\u003e\u003c/a\u003e fix: Ignore Vercel OIDC token rotation in .env.local cache inputs (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14356\"\u003e#14356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8cc3cce30705a88ac9020d1adc2bf06f391fdf2d\"\u003e\u003ccode\u003e8cc3cce\u003c/code\u003e\u003c/a\u003e chore: Update with-vite-module-federation example (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14349\"\u003e#14349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/41387de0cdd241314f84c5ee9eef4728197c4fda\"\u003e\u003ccode\u003e41387de\u003c/code\u003e\u003c/a\u003e fix: Pass SDKROOT through to repository tasks (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14353\"\u003e#14353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3a2072cad9eadc0f21a5eff2a93abbb40ed2b572\"\u003e\u003ccode\u003e3a2072c\u003c/code\u003e\u003c/a\u003e chore: Release Turborepo 2.11.6 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14352\"\u003e#14352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.71.0 to 8.71.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throttle cleanup when opening files (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12934\"\u003e#12934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match re-exports and global declarations in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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.71.1 (2026-10-05)\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\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/d57b8da272375b6a45270639894a793933208a91\"\u003e\u003ccode\u003ed57b8da\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.1/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-react` from 6.1.1 to 6.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-react/releases\"\u003e@​vitejs/plugin-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-react@6.1.2\u003c/h2\u003e\n\u003ch3\u003eFix HMR for compound components (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1484\"\u003e#1484\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eAdding or removing a component from a compound component was not handled, creating stale updates. Doing this now triggers hmr invalidate on the file and propagates the invalidation to importers.\u003c/p\u003e\n\u003ch3\u003eFix \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option not working (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1483\"\u003e#1483\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWith \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.148, the \u003ccode\u003elogDiagnostics\u003c/code\u003e was not working. This version fixes it and requires \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.152 as a peer dependency if you are using the \u003ccode\u003ecompiler\u003c/code\u003e option. \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option is now deprecated and should be swapped for the builtin \u003ccode\u003ecompiler.reportDiagnostics\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eDisable refresh for non-jsx with compiler enabled (fix \u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/issues/1478\"\u003e#1478\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1485\"\u003e#1485\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWhen the compiler was enabled, TS files could trigger fast refresh which would cause runtime errors. The logic now follows what the builtin oxc plugin in Vite does.\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/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md\"\u003e@​vitejs/plugin-react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.2 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eFix HMR for compound components (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1484\"\u003e#1484\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eAdding or removing a component from a compound component was not handled, creating stale updates. Doing this now triggers hmr invalidate on the file and propagates the invalidation to importers.\u003c/p\u003e\n\u003ch3\u003eFix \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option not working (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1483\"\u003e#1483\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWith \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.148, the \u003ccode\u003elogDiagnostics\u003c/code\u003e was not working. This version fixes it and requires \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.152 as a peer dependency if you are using the \u003ccode\u003ecompiler\u003c/code\u003e option. \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option is now deprecated and should be swapped for the builtin \u003ccode\u003ecompiler.reportDiagnostics\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eDisable refresh for non-jsx with compiler enabled (fix \u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/issues/1478\"\u003e#1478\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1485\"\u003e#1485\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWhen the compiler was enabled, TS files could trigger fast refresh which would cause runtime errors. The logic now follows what the builtin oxc plugin in Vite does.\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/vitejs/vite-plugin-react/commit/ac47648e17674299accb51816e9e33b8a7b07b05\"\u003e\u003ccode\u003eac47648\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.1.2 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/98277e7d49fea7fa707170d2892738c8bfb5f1c0\"\u003e\u003ccode\u003e98277e7\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/12eddea34ae9de92b3dc8d8b8a76fa1260b781bf\"\u003e\u003ccode\u003e12eddea\u003c/code\u003e\u003c/a\u003e fix(hmr): better handle compound components (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3cfb1d1114df64cf9aeee4aae0ac951d0c2f3abf\"\u003e\u003ccode\u003e3cfb1d1\u003c/code\u003e\u003c/a\u003e fix(plugin-react): fix \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/6de9915e1b4c1b8a7b390eb1364ab6cd83d64e62\"\u003e\u003ccode\u003e6de9915\u003c/code\u003e\u003c/a\u003e fix(plugin-react): disable refresh for non-jsx with compiler enabled (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/ee97d2f3bd25cda8f06c27366722f01aaac0201f\"\u003e\u003ccode\u003eee97d2f\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/b0a014da31be23c7806ffb0b997ec53b52ab68f2\"\u003e\u003ccode\u003eb0a014d\u003c/code\u003e\u003c/a\u003e chore: use Babel 8 for babel compiler playgrounds (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/61b650fe93c3fe30d79aa8615199cdcb0a2594f4\"\u003e\u003ccode\u003e61b650f\u003c/code\u003e\u003c/a\u003e fix(deps): update react-related dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/736efe2f004002abee693a44b405e70699432ecd\"\u003e\u003ccode\u003e736efe2\u003c/code\u003e\u003c/a\u003e chore(deps): update tsdown to v0.23 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1451\"\u003e#1451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.2/packages/plugin-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.3.2 to 8.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.3.4\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e support \u003ccode\u003eimport.meta.hot.acceptExports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23463\"\u003e#23463\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e\"\u003ebc0f21c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid mutating hmr defaults (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23575\"\u003e#23575\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23576\"\u003e#23576\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/574d5e351905fe99891364d03c2440531378f7fd\"\u003e574d5e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e correct preloads when chunkImportMap is enabled with non-root base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23698\"\u003e#23698\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd\"\u003e2a8c0f0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e wait for in-flight stylesheets in preload helper (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23652\"\u003e#23652\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23662\"\u003e#23662\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/036b74599b2fe1d8c61475371b856ceb88d26963\"\u003e036b745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve \u003ccode\u003e/@vite/client\u003c/code\u003e and stub \u003ccode\u003e@vite/env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23664\"\u003e#23664\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5afc5a8876624888fc1e8f43fed1c85c4b0e830b\"\u003e5afc5a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e skip rewriting unchanged adopted styles (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23697\"\u003e#23697\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba\"\u003efa71469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e resolve imported preprocessors from their file path with lightningcss (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23688\"\u003e#23688\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9\"\u003ecf52011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23648\"\u003e#23648\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8a4c19cfc035f2dd203f2fa6d00ab9256a5e77c9\"\u003e8a4c19c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23649\"\u003e#23649\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/794516d50cff80e405bc9b3e5faac1c82987566c\"\u003e794516d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e a restart requested during a restart used to be dropped (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23392\"\u003e#23392\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23484\"\u003e#23484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73\"\u003e70d56ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't treat modules ending with js-like query as js (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23687\"\u003e#23687\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0\"\u003efcb6f12\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e avoid adding filesystem root to watcher (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23689\"\u003e#23689\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778\"\u003e3a7f2ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e skip caching CSS of chunks in a cycle (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23628\"\u003e#23628\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23636\"\u003e#23636\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/15d82f7dc679ab9c18d5ce2c3711157c2365ddd1\"\u003e15d82f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e scan deep imports with custom extensions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23678\"\u003e#23678\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8579189bae8626b6ddab55a09325e209d62e027e\"\u003e8579189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove input option unescaping for now (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23694\"\u003e#23694\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6\"\u003efacc2fb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e match static aliases on path boundaries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23643\"\u003e#23643\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577\"\u003eb28db28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewatcher:\u003c/strong\u003e normalize file before root check in \u003ccode\u003eensureWatchedFile\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23673\"\u003e#23673\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/12bb28c22379c8d2fe90088fa0eefbfa2ab3fb80\"\u003e12bb28c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003emodule-runner:\u003c/strong\u003e skip cloning call sites that have no source map (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23646\"\u003e#23646\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3d674869a50a0bca84a8cc8dc55bd35d57100e37\"\u003e3d67486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e import CSS HMR helpers from \u003ccode\u003e/@vite/client\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23674\"\u003e#23674\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/182f5b2a65391da5bee05f9c3df1aeb3794e98d9\"\u003e182f5b2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.3.3\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update launch-editor to v2.14.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23654\"\u003e#23654\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/22fd1d5238cce2ee9db0eb4122f9e8feb6b06097\"\u003e22fd1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e filename passed to transformIndexHtml should not include queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23653\"\u003e#23653\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17\"\u003e7dafd8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e check \u003ccode\u003efs.serve\u003c/code\u003e for \u003ccode\u003e?vite-wasm-instance\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23655\"\u003e#23655\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ba8b7ab43b4afa5d0292ab4b6e3a7b5033cc9c73\"\u003eba8b7ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e store ids to \u003ccode\u003esafeModulePaths\u003c/code\u003e rather than URLs (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23656\"\u003e#23656\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905\"\u003ec3e06f9\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/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.3.3...v8.3.4\"\u003e8.3.4\u003c/a\u003e (2026-10-08)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e support \u003ccode\u003eimport.meta.hot.acceptExports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23463\"\u003e#23463\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e\"\u003ebc0f21c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid mutating hmr defaults (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23575\"\u003e#23575\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23576\"\u003e#23576\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/574d5e351905fe99891364d03c2440531378f7fd\"\u003e574d5e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e correct preloads when chunkImportMap is enabled with non-root base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23698\"\u003e#23698\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd\"\u003e2a8c0f0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e wait for in-flight stylesheets in preload helper (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23652\"\u003e#23652\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23662\"\u003e#23662\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/036b74599b2fe1d8c61475371b856ceb88d26963\"\u003e036b745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve \u003ccode\u003e/@vite/client\u003c/code\u003e and stub \u003ccode\u003e@vite/env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23664\"\u003e#23664\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5afc5a8876624888fc1e8f43fed1c85c4b0e830b\"\u003e5afc5a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e skip rewriting unchanged adopted styles (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23697\"\u003e#23697\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba\"\u003efa71469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e resolve imported preprocessors from their file path with lightningcss (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23688\"\u003e#23688\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9\"\u003ecf52011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23648\"\u003e#23648\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8a4c19cfc035f2dd203f2fa6d00ab9256a5e77c9\"\u003e8a4c19c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23649\"\u003e#23649\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/794516d50cff80e405bc9b3e5faac1c82987566c\"\u003e794516d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e a restart requested during a restart used to be dropped (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23392\"\u003e#23392\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23484\"\u003e#23484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73\"\u003e70d56ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't treat modules ending with js-like query as js (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23687\"\u003e#23687\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0\"\u003efcb6f12\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e avoid adding filesystem root to watcher (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23689\"\u003e#23689\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778\"\u003e3a7f2ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e skip caching CSS of chunks in a cycle (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23628\"\u003e#23628\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23636\"\u003e#23636\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/15d82f7dc679ab9c18d5ce2c3711157c2365ddd1\"\u003e15d82f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e scan deep imports with custom extensions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23678\"\u003e#23678\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8579189bae8626b6ddab55a09325e209d62e027e\"\u003e8579189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove input option unescaping for now (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23694\"\u003e#23694\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6\"\u003efacc2fb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e match static aliases on path boundaries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23643\"\u003e#23643\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577\"\u003eb28db28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewatcher:\u003c/strong\u003e normalize file before root check in \u003ccode\u003eensureWatchedFile\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23673\"\u003e#23673\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/12bb28c22379c8d2fe90088fa0eefbfa2ab3fb80\"\u003e12bb28c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003emodule-runner:\u003c/strong\u003e skip cloning call sites that have no source map (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23646\"\u003e#23646\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3d674869a50a0bca84a8cc8dc55bd35d57100e37\"\u003e3d67486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e import CSS HMR helpers from \u003ccode\u003e/@vite/client\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23674\"\u003e#23674\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/182f5b2a65391da5bee05f9c3df1aeb3794e98d9\"\u003e182f5b2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.3.2...v8.3.3\"\u003e8.3.3\u003c/a\u003e (2026-10-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update launch-editor to v2.14.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23654\"\u003e#23654\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/22fd1d5238cce2ee9db0eb4122f9e8feb6b06097\"\u003e22fd1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e filename passed to transformIndexHtml should not include queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23653\"\u003e#23653\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17\"\u003e7dafd8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e check \u003ccode\u003efs.serve\u003c/code\u003e for \u003ccode\u003e?vite-wasm-instance\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23655\"\u003e#23655\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ba8b7ab43b4afa5d0292ab4b6e3a7b5033cc9c73\"\u003eba8b7ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e store ids to \u003ccode\u003esafeModulePaths\u003c/code\u003e rather than URLs (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23656\"\u003e#23656\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905\"\u003ec3e06f9\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/vitejs/vite/commit/b6c20f6a8126d8561891e5fb9368e8fc9da37538\"\u003e\u003ccode\u003eb6c20f6\u003c/code\u003e\u003c/a\u003e release: v8.3.4 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23702\"\u003e#23702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577\"\u003e\u003ccode\u003eb28db28\u003c/code\u003e\u003c/a\u003e fix(server): match static aliases on path boundaries (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23643\"\u003e#23643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e\"\u003e\u003ccode\u003ebc0f21c\u003c/code\u003e\u003c/a\u003e feat(bundled-dev): support \u003ccode\u003eimport.meta.hot.acceptExports\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23463\"\u003e#23463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba\"\u003e\u003ccode\u003efa71469\u003c/code\u003e\u003c/a\u003e fix(client): skip rewriting unchanged adopted styles (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23697\"\u003e#23697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd\"\u003e\u003ccode\u003e2a8c0f0\u003c/code\u003e\u003c/a\u003e fix(build): correct preloads when chunkImportMap is enabled with non-root bas...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778\"\u003e\u003ccode\u003e3a7f2ae\u003c/code\u003e\u003c/a\u003e fix(html): avoid adding filesystem root to watcher (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23689\"\u003e#23689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6\"\u003e\u003ccode\u003efacc2fb\u003c/code\u003e\u003c/a\u003e fix: remove input option unescaping for now (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23694\"\u003e#23694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73\"\u003e\u003ccode\u003e70d56ea\u003c/code\u003e\u003c/a\u003e fix(dev): a restart requested during a restart used to be dropped (fix \u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23392\"\u003e#23392\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9\"\u003e\u003ccode\u003ecf52011\u003c/code\u003e\u003c/a\u003e fix(css): resolve imported preprocessors from their file path with lightningc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0\"\u003e\u003ccode\u003efcb6f12\u003c/code\u003e\u003c/a\u003e fix: don't treat modules ending with js-like query as js (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23687\"\u003e#23687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.3.4/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/neilcochran/squawk/pull/549","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neilcochran%2Fsquawk/issues/549","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/549/packages"},{"uuid":"5858807294","node_id":"PR_kwDOPOy1V88AAAABIhqgfg","number":1130,"state":"open","title":"BAU: Bump the dev-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependabot","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-15T02:06:04.000Z","updated_at":"2026-10-15T02:07:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"BAU: Bump","group_name":"dev-dependencies","update_count":13,"packages":[{"name":"@redocly/cli","old_version":"2.54.2","new_version":"2.60.0","repository_url":"https://github.com/Redocly/redocly-cli"},{"name":"@types/aws-lambda","old_version":"8.10.163","new_version":"8.10.164","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"24.13.6","new_version":"24.19.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-playwright","old_version":"2.12.0","new_version":"2.12.1","repository_url":"https://github.com/mskelton/eslint-plugin-playwright"},{"name":"knip","old_version":"6.38.0","new_version":"6.40.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"pino","old_version":"10.3.1","new_version":"10.4.0","repository_url":"https://github.com/pinojs/pino"},{"name":"rolldown","old_version":"1.2.10","new_version":"1.2.13","repository_url":"https://github.com/rolldown/rolldown"},{"name":"sass","old_version":"1.105.0","new_version":"1.105.1","repository_url":"https://github.com/sass/dart-sass"},{"name":"typescript-eslint","old_version":"8.70.1","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vitest","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@redocly/cli](https://github.com/Redocly/redocly-cli) | `2.54.2` | `2.60.0` |\n| [@types/aws-lambda](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/aws-lambda) | `8.10.163` | `8.10.164` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.13.6` | `24.19.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.1` | `5.0.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.12.0` | `2.12.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.38.0` | `6.40.0` |\n| [pino](https://github.com/pinojs/pino) | `10.3.1` | `10.4.0` |\n| [rolldown](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown) | `1.2.10` | `1.2.13` |\n| [sass](https://github.com/sass/dart-sass) | `1.105.0` | `1.105.1` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.70.1` | `8.71.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.3` |\n\n\nUpdates `@redocly/cli` from 2.54.2 to 2.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Redocly/redocly-cli/releases\"\u003e@​redocly/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.60.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003e--file-name-conflicts-severity\u003c/code\u003e option for the \u003ccode\u003esplit\u003c/code\u003e command to control how file name conflicts are reported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed an issue where \u003ccode\u003esplit\u003c/code\u003e lost content when two components, paths, webhooks, channels, operations, or code samples got the same file name.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e \u003ccode\u003esplit\u003c/code\u003e output may differ from older releases: when several names would share one file, each later file now gets a \u003ccode\u003e-n\u003c/code\u003e suffix, where \u003ccode\u003en\u003c/code\u003e is its order, for example \u003ccode\u003euser-2.yaml\u003c/code\u003e next to \u003ccode\u003eUser.yaml\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.59.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved \u003ccode\u003eredocly recheck\u003c/code\u003e to lint the \u003ccode\u003edescription\u003c/code\u003e fields of API descriptions.\nFindings report the source line and column.\nYou can suppress the findings by file, rule, and pointer, or adjust rules for descriptions only.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e \u003ccode\u003eResolvedRecheckConfig\u003c/code\u003e gains a required \u003ccode\u003edescriptionRules\u003c/code\u003e field.\nLibrary code that builds that object by hand must set it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated \u003ccode\u003ebrace-expansion\u003c/code\u003e to \u003ccode\u003e2.1.7\u003c/code\u003e and \u003ccode\u003e5.0.12\u003c/code\u003e, \u003ccode\u003edompurify\u003c/code\u003e to \u003ccode\u003e3.4.16\u003c/code\u003e, \u003ccode\u003efast-uri\u003c/code\u003e to \u003ccode\u003e3.1.8\u003c/code\u003e, and \u003ccode\u003ejs-yaml\u003c/code\u003e to \u003ccode\u003e5.4.3\u003c/code\u003e to resolve \u003ccode\u003eCVE-2026-102276\u003c/code\u003e, \u003ccode\u003eCVE-2026-102277\u003c/code\u003e, \u003ccode\u003eCVE-2026-102278\u003c/code\u003e, \u003ccode\u003eCVE-2026-86472\u003c/code\u003e, \u003ccode\u003eGHSA-p98j-92pf-mc4p\u003c/code\u003e, and \u003ccode\u003eGHSA-r3ph-w7gj-g6xm\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eoxfmt\u003c/code\u003e to \u003ccode\u003e0.72.0\u003c/code\u003e and \u003ccode\u003etinypool\u003c/code\u003e to \u003ccode\u003e2.2.0\u003c/code\u003e to resolve \u003ccode\u003eCVE-2026-104848\u003c/code\u003e and \u003ccode\u003eCVE-2026-104849\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eproxy-addr\u003c/code\u003e to \u003ccode\u003e2.0.8\u003c/code\u003e and \u003ccode\u003esource-map-js\u003c/code\u003e to \u003ccode\u003e1.2.2\u003c/code\u003e to resolve \u003ccode\u003eCVE-2026-90711\u003c/code\u003e and \u003ccode\u003eCVE-2026-93749\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/openapi-core\u003c/code\u003e to v2.59.0.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/recheck\u003c/code\u003e to v2.59.0.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/reunite-integration\u003c/code\u003e to v2.59.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.58.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where the generated PHP client failed with \u003ccode\u003eUndefined constant \u0026quot;OPERATIONS\u0026quot;\u003c/code\u003e when OPcache preload was enabled.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/client-generator\u003c/code\u003e to v0.4.23.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.58.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved performance of the \u003ccode\u003eno-invalid-media-type-examples\u003c/code\u003e, \u003ccode\u003eno-invalid-schema-examples\u003c/code\u003e, and \u003ccode\u003eno-invalid-parameter-examples\u003c/code\u003e rules by reusing validators for schemas that are referenced or repeated.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/openapi-core\u003c/code\u003e to v2.58.1.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/reunite-integration\u003c/code\u003e to v2.58.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.57.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003econst\u003c/code\u003e checking to the \u003ccode\u003eno-enum-type-mismatch\u003c/code\u003e rule: a \u003ccode\u003econst\u003c/code\u003e value must conform to the schema's \u003ccode\u003etype\u003c/code\u003e, the same way every \u003ccode\u003eenum\u003c/code\u003e value does.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: linting output may include new errors for schemas whose \u003ccode\u003econst\u003c/code\u003e value doesn't match their \u003ccode\u003etype\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/d7177a33a7dde5a4058744dfdfd0000a592998dc\"\u003e\u003ccode\u003ed7177a3\u003c/code\u003e\u003c/a\u003e chore: 🔖 release new versions (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3209\"\u003e#3209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/9fbdd45ad13255a801ab920a7c1c0ce8c71f78de\"\u003e\u003ccode\u003e9fbdd45\u003c/code\u003e\u003c/a\u003e feat: add case sensitivity in the split command (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3132\"\u003e#3132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/f900b59c66da84aaaf7926d937decae0addee68e\"\u003e\u003ccode\u003ef900b59\u003c/code\u003e\u003c/a\u003e chore: lint the docs and cookbook Markdown with redocly recheck (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3187\"\u003e#3187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/b8ec3f882bd4503578392d15c08eaff75afe8649\"\u003e\u003ccode\u003eb8ec3f8\u003c/code\u003e\u003c/a\u003e chore: 🔖 release new versions (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/f34746dc8ffb8fe49a634a2e9ce1286fdea12fe5\"\u003e\u003ccode\u003ef34746d\u003c/code\u003e\u003c/a\u003e feat(cli): lint API descriptions with redocly recheck (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3093\"\u003e#3093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/425bd33e7baa2a42d5129103926ace8a17f3e39f\"\u003e\u003ccode\u003e425bd33\u003c/code\u003e\u003c/a\u003e chore: update config to v0.62.0 (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3204\"\u003e#3204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/d0d877c7743d412031f70c9f8896eac7ebcf958c\"\u003e\u003ccode\u003ed0d877c\u003c/code\u003e\u003c/a\u003e chore: update oxfmt to resolve tinypool advisories (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3203\"\u003e#3203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/4d1c8508aeb9fd44379f415d50bcbf487117a260\"\u003e\u003ccode\u003e4d1c850\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies to resolve security advisories (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3201\"\u003e#3201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/8f46d462cbbed98e15626da9adb91290a0f4a4d6\"\u003e\u003ccode\u003e8f46d46\u003c/code\u003e\u003c/a\u003e chore: update performance benchmark (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/c52b721bdc92733bc6848a865384c1022ee26307\"\u003e\u003ccode\u003ec52b721\u003c/code\u003e\u003c/a\u003e chore: update the testing rule and align existing tests with it (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3195\"\u003e#3195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Redocly/redocly-cli/compare/@redocly/cli@2.54.2...@redocly/cli@2.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/aws-lambda` from 8.10.163 to 8.10.164\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/aws-lambda\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.13.6 to 24.19.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 `@vitest/coverage-v8` from 5.0.1 to 5.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/33cadea62e8763c455c7fca38d9ab1dda87c5f75\"\u003e\u003ccode\u003e33cadea\u003c/code\u003e\u003c/a\u003e chore: release v5.0.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11409\"\u003e#11409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a029e76a9e72ebdd468452ee1bb788bbe5dc635e\"\u003e\u003ccode\u003ea029e76\u003c/code\u003e\u003c/a\u003e chore: migrate to oxc (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11367\"\u003e#11367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.3/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-playwright` from 2.12.0 to 2.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/releases\"\u003eeslint-plugin-playwright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/compare/v2.12.0...v2.12.1\"\u003e2.12.1\u003c/a\u003e (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace unsupported json schema \u003ccode\u003econtains\u003c/code\u003e with \u003ccode\u003eenum\u003c/code\u003e in rule option schema (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/514\"\u003e#514\u003c/a\u003e) (\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/4f35eb6df1ebaad3ff672aa4a4d13355fdcad2bc\"\u003e4f35eb6\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/mskelton/eslint-plugin-playwright/commit/e3eaf6c0a6ec468f9073c33d46da0774ccb213dd\"\u003e\u003ccode\u003ee3eaf6c\u003c/code\u003e\u003c/a\u003e chore(deps): Bump brace-expansion from 2.1.4 to 2.1.7 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/9e5fb46786e7f1e908ee02e0d2da674105f00229\"\u003e\u003ccode\u003e9e5fb46\u003c/code\u003e\u003c/a\u003e chore(deps-dev): Bump vitest from 4.1.9 to 4.1.11 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/d89f4b31cfd10e231abe83528b110e83e2007b32\"\u003e\u003ccode\u003ed89f4b3\u003c/code\u003e\u003c/a\u003e chore(deps): Bump js-yaml from 4.3.1 to 4.3.2 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/99e1e66cc54e9b9f4fd9e572a39e2ba807f277e2\"\u003e\u003ccode\u003e99e1e66\u003c/code\u003e\u003c/a\u003e chore(deps): Bump ip-address from 10.4.0 to 10.7.2 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/4f35eb6df1ebaad3ff672aa4a4d13355fdcad2bc\"\u003e\u003ccode\u003e4f35eb6\u003c/code\u003e\u003c/a\u003e fix: replace unsupported json schema \u003ccode\u003econtains\u003c/code\u003e with \u003ccode\u003eenum\u003c/code\u003e in rule option sc...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/compare/v2.12.0...v2.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.38.0 to 6.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.40.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve local and scope-only extends in commitlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2079\"\u003e#2079\u003c/a\u003e) (e667552d4e7122094565d3ad9ae407acfc0ac684) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eClarify worktree guides and plugin review preparation (dd02baf020d23af1d47c44c1a726a61014b270bd)\u003c/li\u003e\n\u003cli\u003eDocument stale cache results and workarounds (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2078\"\u003e#2078\u003c/a\u003e) (3573749a5d5bbee6305f207cc7d1b72c200c8c9b)\u003c/li\u003e\n\u003cli\u003eExclude test files from package entries in production mode (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2082\"\u003e#2082\u003c/a\u003e) (b86f45f9d38d4b83baad98e43983e08910e00c78) - thanks \u003ca href=\"https://github.com/jonathanong\"\u003e\u003ccode\u003e@​jonathanong\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Serverless file variables in plugins and functions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2074\"\u003e#2074\u003c/a\u003e) (99cac789694ea8d76cd38184d2d7c95f34315224) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve locally referenced namespace members (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2070\"\u003e#2070\u003c/a\u003e) (f0f36df766cd74ad7ae03fbf8940bdeb792439be) - thanks \u003ca href=\"https://github.com/MFA-G\"\u003e\u003ccode\u003e@​MFA-G\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: add the commitlint-plugin prefix to Commitlint plugin names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2096\"\u003e#2096\u003c/a\u003e) (3decd35ff0a4220c7cd2c9142dc69c89794b3927) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match .mjs config files in the simple-git-hooks plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2097\"\u003e#2097\u003c/a\u003e) (79a87d92396c2444ae4ef3c780c0d2e18cd73e4c) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match capacitor.config.js in the Capacitor plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2098\"\u003e#2098\u003c/a\u003e) (4a5ec96d818117a7f2eafa027e3b707bc97573a8) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typescript): ArrayExpression (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2099\"\u003e#2099\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2100\"\u003e#2100\u003c/a\u003e) (87fea9f201c2fd864eafa31bdad68910a8a177ba) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve development entry pattern groups (7c229f4e1918075d801ed3b046fa022b1d3bcc41)\u003c/li\u003e\n\u003cli\u003eResolve null package exports to the files they hide (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2084\"\u003e#2084\u003c/a\u003e, close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2085\"\u003e#2085\u003c/a\u003e) (5bd46260feb60b957c2631bc72375ef192e441e0)\u003c/li\u003e\n\u003cli\u003ePin InvokeAI ecosystem test (4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)\u003c/li\u003e\n\u003cli\u003efix(utils): add jsx extension to source mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2087\"\u003e#2087\u003c/a\u003e) (eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(serverless-framework): handle explicit extensions in handler paths (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2091\"\u003e#2091\u003c/a\u003e) (e9393965be7563640921e3f20c946fcb9132e1cb) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAnnotate published manifest return type (d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)\u003c/li\u003e\n\u003cli\u003eAdd Jasmine plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2105\"\u003e#2105\u003c/a\u003e) (9ed14911d5c5752aef36878ab3d515c35d1ac6bc) - thanks \u003ca href=\"https://github.com/SulimanAbdulrazzaq\"\u003e\u003ccode\u003e@​SulimanAbdulrazzaq\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve workspace exports with fallback arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2088\"\u003e#2088\u003c/a\u003e) (49c2aaeaba4544f25cc02c19d5da5152a8ef68c3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(postcss): ignore disabled plugins in object configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2092\"\u003e#2092\u003c/a\u003e) (b84fdf8a8ee676ee45f4313009ebfe969d034a88) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e) (1af96bce36b0d0d07791de100c7f2ea5672a478c) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e) (01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e) (dc3a47e2d810808314454b8f5c23070f136d15d3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDon't let a self-closing \u003c!-- raw HTML omitted --\u003e swallow the next \u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e) (989fdadde0a068d1d1c52e26a8327b99c5de0668) - thanks \u003ca href=\"https://github.com/maniflopi\"\u003e\u003ccode\u003e@​maniflopi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e) (6d44e532ed6320cdf4f4c3253b26e155c4d26ba7) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e) (a5f4cfbff7f263a0ea8d5461a3f9216cbef38602) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Vitest paths from the top-level root (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2119\"\u003e#2119\u003c/a\u003e) (8a495d424cf60cab502c5c5ea476a3c761a9da6d) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(rsbuild): detect config from tools.rspack inside rsbuild config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2077\"\u003e#2077\u003c/a\u003e) (c4ed619d5352b1d7b9ffaacc8c75d247eef39517) - thanks \u003ca href=\"https://github.com/TkDodo\"\u003e\u003ccode\u003e@​TkDodo\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd osls plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2104\"\u003e#2104\u003c/a\u003e) (a8bf4bfaeba2ee0aaf756b343789de9fff75a1fa) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eExplain why types in signatures of used exports are not reported (61f5cc02e6b4e895dbd8507ab845ae30f073211b)\u003c/li\u003e\n\u003cli\u003eUpdate sponsors page (7ea33fa2c116c29e2c131bda900aaf7b9073a3ff)\u003c/li\u003e\n\u003cli\u003eEdit docs (b459d7c3ad6d5535fd7646d93022a2974641ccd9)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.39.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Railway plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2026\"\u003e#2026\u003c/a\u003e) (6da55767eb419701dd32f93789a00e8bdc915276) - thanks \u003ca href=\"https://github.com/jonahsnider\"\u003e\u003ccode\u003e@​jonahsnider\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate query snapshot (8877d3cf35943e17a617e1197fa46c5a43342479)\u003c/li\u003e\n\u003cli\u003eFix excluded tags on entry re-exports (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2062\"\u003e#2062\u003c/a\u003e) (b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate rolldown snapshot (3a45c806e1c1b7ceb078903652c8631566400096)\u003c/li\u003e\n\u003cli\u003eSkip synthetic self-imports in Vue and Nuxt auto-import compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2067\"\u003e#2067\u003c/a\u003e) (d912d807e41f140bbc79bafce6882b3c05dec6ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(angular): keep other projects' inputs when one has no architect (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2064\"\u003e#2064\u003c/a\u003e) (af3f42e9772e9937fd71b7557d3b54aee1db339a) - thanks \u003ca href=\"https://github.com/Cayan\"\u003e\u003ccode\u003e@​Cayan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(vite): resolve nested HTML entry points in multi-page apps (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1988\"\u003e#1988\u003c/a\u003e) (4648aefe56e7bac521bb6f17189473b46f8ff00f) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImprove Rstest plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2068\"\u003e#2068\u003c/a\u003e) (add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf) - thanks \u003ca href=\"https://github.com/fi3ework\"\u003e\u003ccode\u003e@​fi3ework\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle profiles, formatters and require paths in Cucumber plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2065\"\u003e#2065\u003c/a\u003e) (2ad39fcf02e067b4bdfc06a658bf4bf5abeea764) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(playwright): resolve globalSetup/globalTeardown from config dir (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2076\"\u003e#2076\u003c/a\u003e) (7060bb968339680d694275413aba2833e4521ed9) - thanks \u003ca href=\"https://github.com/alokn\"\u003e\u003ccode\u003e@​alokn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: read entry export tags under the re-exported names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2069\"\u003e#2069\u003c/a\u003e) (1698683df95a96b3515795eb664aacf030042d7b) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/dd6d422b129063fe8e16f176addc0744d7579987\"\u003e\u003ccode\u003edd6d422\u003c/code\u003e\u003c/a\u003e Release knip@6.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a8bf4bfaeba2ee0aaf756b343789de9fff75a1fa\"\u003e\u003ccode\u003ea8bf4bf\u003c/code\u003e\u003c/a\u003e Add osls plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c4ed619d5352b1d7b9ffaacc8c75d247eef39517\"\u003e\u003ccode\u003ec4ed619\u003c/code\u003e\u003c/a\u003e fix(rsbuild): detect config from tools.rspack inside rsbuild config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a495d424cf60cab502c5c5ea476a3c761a9da6d\"\u003e\u003ccode\u003e8a495d4\u003c/code\u003e\u003c/a\u003e Resolve Vitest paths from the top-level root (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a5f4cfbff7f263a0ea8d5461a3f9216cbef38602\"\u003e\u003ccode\u003ea5f4cfb\u003c/code\u003e\u003c/a\u003e fix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/6d44e532ed6320cdf4f4c3253b26e155c4d26ba7\"\u003e\u003ccode\u003e6d44e53\u003c/code\u003e\u003c/a\u003e fix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/989fdadde0a068d1d1c52e26a8327b99c5de0668\"\u003e\u003ccode\u003e989fdad\u003c/code\u003e\u003c/a\u003e Don't let a self-closing \u0026lt;script /\u0026gt; swallow the next \u0026lt;script\u0026gt; (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/dc3a47e2d810808314454b8f5c23070f136d15d3\"\u003e\u003ccode\u003edc3a47e\u003c/code\u003e\u003c/a\u003e fix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37\"\u003e\u003ccode\u003e01cb432\u003c/code\u003e\u003c/a\u003e Cache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/1af96bce36b0d0d07791de100c7f2ea5672a478c\"\u003e\u003ccode\u003e1af96bc\u003c/code\u003e\u003c/a\u003e Resolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.40.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pino` from 10.3.1 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pinojs/pino/releases\"\u003epino's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd warning on incompatible formatters.level with multi-target transports by \u003ca href=\"https://github.com/lraveri\"\u003e\u003ccode\u003e@​lraveri\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2381\"\u003epinojs/pino#2381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use TSTyche for type testing by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2376\"\u003epinojs/pino#2376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Sentry Native Integration Docs by \u003ca href=\"https://github.com/KyleTryon\"\u003e\u003ccode\u003e@​KyleTryon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2394\"\u003epinojs/pino#2394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add flush limitation warning for pino-pretty, fix \u003ca href=\"https://redirect.github.com/pinojs/pino/issues/1015\"\u003e#1015\u003c/a\u003e by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2402\"\u003epinojs/pino#2402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(browser): add redaction support by \u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2396\"\u003epinojs/pino#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: lint the type declaration file by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2408\"\u003epinojs/pino#2408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove TSTyche config file by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2409\"\u003epinojs/pino#2409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify multi-target formatter limitation by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2410\"\u003epinojs/pino#2410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNo bots allowed by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2412\"\u003epinojs/pino#2412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump real-require from 0.2.0 to 1.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2414\"\u003epinojs/pino#2414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump neostandard from 0.12.2 to 0.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2418\"\u003epinojs/pino#2418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use util.getCallSites when able to allow frozen intrinsics by \u003ca href=\"https://github.com/CarlOlson\"\u003e\u003ccode\u003e@​CarlOlson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2294\"\u003epinojs/pino#2294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate AWS Lambda reference in asynchronous docs by \u003ca href=\"https://github.com/urbanautomaton\"\u003e\u003ccode\u003e@​urbanautomaton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2413\"\u003epinojs/pino#2413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update license by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2375\"\u003epinojs/pino#2375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add named \u003ccode\u003edefault\u003c/code\u003e export by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2421\"\u003epinojs/pino#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate contrib doc by \u003ca href=\"https://github.com/jsumners\"\u003e\u003ccode\u003e@​jsumners\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2424\"\u003epinojs/pino#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use \u003ccode\u003e@​hono/structured-logger\u003c/code\u003e for Pino with Hono by \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2425\"\u003epinojs/pino#2425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): remove \u003ccode\u003epre-commit\u003c/code\u003e by \u003ca href=\"https://github.com/kshitijanurag\"\u003e\u003ccode\u003e@​kshitijanurag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2423\"\u003epinojs/pino#2423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/github-script from 8 to 9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2427\"\u003epinojs/pino#2427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-promise from 6.6.0 to 7.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2428\"\u003epinojs/pino#2428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump tstyche from 6.2.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2429\"\u003epinojs/pino#2429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: fix flaky transport config test by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2434\"\u003epinojs/pino#2434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: upgrade typescript to v6.0.2 by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2419\"\u003epinojs/pino#2419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix typo \u0026quot;compatability\u0026quot; → \u0026quot;compatibility\u0026quot; in README by \u003ca href=\"https://github.com/premsreelathasugeendran\"\u003e\u003ccode\u003e@​premsreelathasugeendran\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2435\"\u003epinojs/pino#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: warn against untrusted top-level log keys by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2450\"\u003epinojs/pino#2450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(transport): keep event loop alive while awaiting async flush by \u003ca href=\"https://github.com/YBJ0000\"\u003e\u003ccode\u003e@​YBJ0000\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2470\"\u003epinojs/pino#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify Node.js version support policy in LTS doc by \u003ca href=\"https://github.com/youdie006\"\u003e\u003ccode\u003e@​youdie006\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2472\"\u003epinojs/pino#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: honor per-target level filter on single-element \u003ccode\u003etargets\u003c/code\u003e array by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2432\"\u003epinojs/pino#2432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(multistream): resolve string level labels in write() by \u003ca href=\"https://github.com/xianjianlf2\"\u003e\u003ccode\u003e@​xianjianlf2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2474\"\u003epinojs/pino#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: escape child binding keys by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2452\"\u003epinojs/pino#2452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify stringification limits by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2475\"\u003epinojs/pino#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add setBindings to the browser logger by \u003ca href=\"https://github.com/ankit1324\"\u003e\u003ccode\u003e@​ankit1324\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2471\"\u003epinojs/pino#2471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2486\"\u003epinojs/pino#2486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump through2 from 4.0.2 to 5.0.10 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2488\"\u003epinojs/pino#2488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump bole from 5.0.29 to 6.0.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2489\"\u003epinojs/pino#2489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-n from 17.23.2 to 18.2.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2492\"\u003epinojs/pino#2492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.2 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2485\"\u003epinojs/pino#2485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: log objects with an own \u003cstrong\u003eproto\u003c/strong\u003e key instead of crashing by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2457\"\u003epinojs/pino#2457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: build the redaction shape without Object.prototype by \u003ca href=\"https://github.com/luantaraschi\"\u003e\u003ccode\u003e@​luantaraschi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2495\"\u003epinojs/pino#2495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add Node.js 26 to test matrix by \u003ca href=\"https://github.com/aquie00t\"\u003e\u003ccode\u003e@​aquie00t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2480\"\u003epinojs/pino#2480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(multistream): fix clone add crash and missing end/remove methods by \u003ca href=\"https://github.com/spellsaif\"\u003e\u003ccode\u003e@​spellsaif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2493\"\u003epinojs/pino#2493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: check pull requests target main by \u003ca href=\"https://github.com/marktran0710\"\u003e\u003ccode\u003e@​marktran0710\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2500\"\u003epinojs/pino#2500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump docsify-cli from 4.4.4 to 5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2513\"\u003epinojs/pino#2513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-n from 18.2.2 to 18.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2515\"\u003epinojs/pino#2515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDelete .github/dependabot.yml by \u003ca href=\"https://github.com/jsumners\"\u003e\u003ccode\u003e@​jsumners\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2517\"\u003epinojs/pino#2517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document the APIs that are unavailable in the browser by \u003ca href=\"https://github.com/kavish-19\"\u003e\u003ccode\u003e@​kavish-19\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2521\"\u003epinojs/pino#2521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin lock-threads to upstream v6.0.2 to fix token validation failure by \u003ca href=\"https://github.com/simpleqt\"\u003e\u003ccode\u003e@​simpleqt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2525\"\u003epinojs/pino#2525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd bindings() method to browser logger by \u003ca href=\"https://github.com/RT1811\"\u003e\u003ccode\u003e@​RT1811\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2504\"\u003epinojs/pino#2504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pinojs/pino/commit/b29dbe97820630e7128e464c50263b427965ec99\"\u003e\u003ccode\u003eb29dbe9\u003c/code\u003e\u003c/a\u003e Bumped v10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pinojs/pino/commit/6ba157b1a6727399f9dc01a584d2e08d5094ea57\"\u003e\u003ccode\u003e6ba157b\u003c/code\u003e\u003c/a\u003e docs: fix the pino-pretty flush explanation after thread-stream#198 (\u003ca href=\"https://redirect.github....\n\n_Description has been truncated_","html_url":"https://github.com/govuk-one-login/account-components/pull/1130","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Faccount-components/issues/1130","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1130/packages"},{"uuid":"5853339867","node_id":"PR_kwDOQ7el4s8AAAABIdTZ3w","number":479,"state":"open","title":"chore(deps): bump eslint-plugin-n from 17.24.0 to 18.4.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-14T18:27:34.000Z","updated_at":"2026-10-14T18:31:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"eslint-plugin-n","old_version":"17.24.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.24.0 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.24.0...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=17.24.0\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated internal development tooling. There are no changes to app features or user-facing behavior.\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/3mrhussein/findeg/pull/479","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mrhussein%2Ffindeg/issues/479","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/479/packages"},{"uuid":"5849060812","node_id":"PR_kwDOS1DM6c8AAAABIZ2T6Q","number":52,"state":"closed","title":"chore(deps): bump the non-breaking-changes group across 1 directory with 87 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-16T02:53:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T13:51:48.000Z","updated_at":"2026-10-16T02:53:48.000Z","time_to_close":133318,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"non-breaking-changes","update_count":87,"packages":[{"name":"@clack/prompts","old_version":"1.7.0","new_version":"1.8.1","repository_url":"https://github.com/bombshell-dev/clack"},{"name":"@commitlint/cli","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@ctrl/tinycolor","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/scttcper/tinycolor"},{"name":"@eslint-community/eslint-plugin-eslint-comments","old_version":"4.7.2","new_version":"4.8.1","repository_url":"https://github.com/eslint-community/eslint-plugin-eslint-comments"},{"name":"@form-create/ant-design-vue","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@form-create/antdv-next","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@form-create/element-ui","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@form-create/naive-ui","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@iconify/json","old_version":"2.2.521","new_version":"2.2.541","repository_url":"https://github.com/iconify/icon-sets"},{"name":"@iconify/vue","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/iconify/iconify"},{"name":"@intlify/core-base","old_version":"11.4.10","new_version":"11.4.14","repository_url":"https://github.com/intlify/vue-i18n"},{"name":"@jspm/generator","old_version":"2.16.3","new_version":"2.17.0","repository_url":"https://github.com/jspm/jspm"},{"name":"@lucide/vue","old_version":"1.34.0","new_version":"1.55.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"@stylistic/stylelint-plugin","old_version":"5.3.0","new_version":"5.3.1","repository_url":"https://github.com/stylelint-stylistic/stylelint-stylistic"},{"name":"@tanstack/store","old_version":"0.11.1","new_version":"0.11.2","repository_url":"https://github.com/TanStack/store"},{"name":"@tanstack/vue-store","old_version":"0.11.1","new_version":"0.11.2","repository_url":"https://github.com/TanStack/store"},{"name":"@tiptap/core","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-document","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-highlight","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-image","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-link","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-placeholder","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-align","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-style","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-underline","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/pm","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/starter-kit","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/vue-3","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tsdown/css","old_version":"0.22.14","new_version":"0.23.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"@typescript-eslint/parser","old_version":"8.68.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-vue","old_version":"6.0.8","new_version":"6.0.10","repository_url":"https://github.com/vitejs/vite-plugin-vue"},{"name":"@vue/shared","old_version":"3.5.42","new_version":"3.5.43","repository_url":"https://github.com/vuejs/core"},{"name":"@vue/test-utils","old_version":"2.4.11","new_version":"2.5.1","repository_url":"https://github.com/vuejs/test-utils"},{"name":"antdv-next","old_version":"1.5.2","new_version":"1.6.0","repository_url":"https://github.com/antdv-next/antdv-next"},{"name":"bpmn-js-properties-panel","old_version":"5.54.0","new_version":"5.65.2","repository_url":"https://github.com/bpmn-io/bpmn-js-properties-panel"},{"name":"bpmn-js","old_version":"18.25.1","new_version":"18.31.0","repository_url":"https://github.com/bpmn-io/bpmn-js"},{"name":"cac","old_version":"7.0.0","new_version":"7.0.1","repository_url":"https://github.com/cacjs/cac"},{"name":"cspell","old_version":"10.1.1","new_version":"10.3.6","repository_url":"https://github.com/streetsidesoftware/cspell"},{"name":"diagram-js","old_version":"15.24.1","new_version":"15.28.1","repository_url":"https://github.com/bpmn-io/diagram-js"},{"name":"element-plus","old_version":"2.14.5","new_version":"2.14.7","repository_url":"https://github.com/element-plus/element-plus"},{"name":"es-toolkit","old_version":"1.51.0","new_version":"1.52.0","repository_url":"https://github.com/toss/es-toolkit"},{"name":"eslint-plugin-better-tailwindcss","old_version":"4.7.0","new_version":"4.9.0","repository_url":"https://github.com/schoero/eslint-plugin-better-tailwindcss"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-perfectionist","old_version":"5.10.1","new_version":"5.12.1","repository_url":"https://github.com/azat-io/eslint-plugin-perfectionist"},{"name":"eslint-plugin-pnpm","old_version":"1.8.0","new_version":"1.9.1","repository_url":"https://github.com/antfu/pnpm-workspace-utils"},{"name":"eslint-plugin-vue","old_version":"10.10.0","new_version":"10.11.1","repository_url":"https://github.com/vuejs/eslint-plugin-vue"},{"name":"eslint-plugin-yml","old_version":"3.8.1","new_version":"3.9.0","repository_url":"https://github.com/ota-meshi/eslint-plugin-yml"},{"name":"eslint","old_version":"10.9.1","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"execa","old_version":"10.0.1","new_version":"10.1.0","repository_url":"https://github.com/sindresorhus/execa"},{"name":"globals","old_version":"17.11.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"happy-dom","old_version":"20.11.8","new_version":"20.14.6","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"knip","old_version":"6.32.3","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"lefthook","old_version":"2.1.10","new_version":"2.2.1","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"livekit-client","old_version":"2.22.1","new_version":"2.22.4","repository_url":"https://github.com/livekit/client-sdk-js"},{"name":"naive-ui","old_version":"2.45.2","new_version":"2.45.3","repository_url":"https://github.com/tusen-ai/naive-ui"},{"name":"oxfmt","old_version":"0.60.0","new_version":"0.72.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.80.0","new_version":"1.87.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"pkg-types","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/unjs/pkg-types"},{"name":"playwright","old_version":"1.62.1","new_version":"1.64.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"postcss","old_version":"8.5.26","new_version":"8.5.29","repository_url":"https://github.com/postcss/postcss"},{"name":"publint","old_version":"0.3.24","new_version":"0.3.25","repository_url":"https://github.com/publint/publint"},{"name":"qs","old_version":"6.15.3","new_version":"6.16.0","repository_url":"https://github.com/ljharb/qs"},{"name":"reka-ui","old_version":"2.10.4","new_version":"2.11.0","repository_url":"https://github.com/unovue/reka-ui"},{"name":"sass-embedded","old_version":"1.103.1","new_version":"1.105.1","repository_url":"https://github.com/sass/embedded-host-node"},{"name":"sass","old_version":"1.103.1","new_version":"1.105.1","repository_url":"https://github.com/sass/dart-sass"},{"name":"stylelint-order","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/hudochenkov/stylelint-order"},{"name":"stylelint-scss","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/stylelint-scss/stylelint-scss"},{"name":"stylelint","old_version":"17.14.1","new_version":"17.16.0","repository_url":"https://github.com/stylelint/stylelint"},{"name":"tailwind-merge","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"tdesign-vue-next","old_version":"1.20.6","new_version":"1.20.9","repository_url":"https://github.com/Tencent/tdesign-vue-next"},{"name":"tsdown","old_version":"0.22.14","new_version":"0.23.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"turbo","old_version":"2.10.12","new_version":"2.11.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"tyme4ts","old_version":"1.5.2","new_version":"1.5.3","repository_url":"https://github.com/6tail/tyme4ts"},{"name":"unplugin-dts","old_version":"1.0.3","new_version":"1.1.2","repository_url":"https://github.com/qmhc/unplugin-dts"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.4","repository_url":"https://github.com/vitejs/vite"},{"name":"vitepress-plugin-group-icons","old_version":"1.7.6","new_version":"1.7.7","repository_url":"https://github.com/yuyinws/vitepress-plugin-group-icons"},{"name":"vue-i18n","old_version":"11.4.10","new_version":"11.4.14","repository_url":"https://github.com/intlify/vue-i18n"},{"name":"vue-router","old_version":"5.2.0","new_version":"5.4.0","repository_url":"https://github.com/vuejs/router"},{"name":"vue-tippy","old_version":"6.7.1","new_version":"6.8.0","repository_url":"https://github.com/KABBOUCHI/vue-tippy"},{"name":"vue-tsc","old_version":"3.3.11","new_version":"3.3.13","repository_url":"https://github.com/vuejs/language-tools"},{"name":"vue3-signature","old_version":"0.4.4","new_version":"0.4.5","repository_url":"https://github.com/WangShayne/vue3-signature"},{"name":"vue","old_version":"3.5.42","new_version":"3.5.43","repository_url":"https://github.com/vuejs/core"},{"name":"vxe-pc-ui","old_version":"4.17.19","new_version":"4.19.5","repository_url":"https://github.com/x-extends/vxe-pc-ui"},{"name":"vxe-table","old_version":"4.21.2","new_version":"4.22.4","repository_url":"https://github.com/x-extends/vxe-table"},{"name":"zod","old_version":"4.4.3","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"},{"name":"@ast-grep/napi","old_version":"0.44.1","new_version":"0.50.0","repository_url":"https://github.com/ast-grep/ast-grep"}],"path":null,"ecosystem":"npm"},"body":"Bumps the non-breaking-changes group with 87 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@clack/prompts](https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts) | `1.7.0` | `1.8.1` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.2` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.2` | `21.2.3` |\n| [@ctrl/tinycolor](https://github.com/scttcper/tinycolor) | `4.2.0` | `4.2.1` |\n| [@eslint-community/eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments) | `4.7.2` | `4.8.1` |\n| [@form-create/ant-design-vue](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@form-create/antdv-next](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@form-create/element-ui](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@form-create/naive-ui](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@iconify/json](https://github.com/iconify/icon-sets) | `2.2.521` | `2.2.541` |\n| [@iconify/vue](https://github.com/iconify/iconify/tree/HEAD/components/vue) | `5.0.1` | `5.0.3` |\n| [@intlify/core-base](https://github.com/intlify/vue-i18n/tree/HEAD/packages/core) | `11.4.10` | `11.4.14` |\n| [@jspm/generator](https://github.com/jspm/jspm) | `2.16.3` | `2.17.0` |\n| [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue) | `1.34.0` | `1.55.0` |\n| [@stylistic/stylelint-plugin](https://github.com/stylelint-stylistic/stylelint-stylistic) | `5.3.0` | `5.3.1` |\n| [@tanstack/store](https://github.com/TanStack/store/tree/HEAD/packages/store) | `0.11.1` | `0.11.2` |\n| [@tanstack/vue-store](https://github.com/TanStack/store/tree/HEAD/packages/vue-store) | `0.11.1` | `0.11.2` |\n| [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-document](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-document) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-highlight](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-highlight) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-placeholder](https://github.com/ueberdosis/tiptap/tree/HEAD/packages-deprecated/extension-placeholder) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-text-align](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-align) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-text-style](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-style) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-underline](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-underline) | `3.30.5` | `3.31.4` |\n| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.30.5` | `3.31.4` |\n| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.30.5` | `3.31.4` |\n| [@tiptap/vue-3](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/vue-3) | `3.30.5` | `3.31.4` |\n| [@tsdown/css](https://github.com/rolldown/tsdown/tree/HEAD/packages/css) | `0.22.14` | `0.23.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.68.0` | `8.71.1` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.8` | `6.0.10` |\n| [@vue/shared](https://github.com/vuejs/core/tree/HEAD/packages/shared) | `3.5.42` | `3.5.43` |\n| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.11` | `2.5.1` |\n| [antdv-next](https://github.com/antdv-next/antdv-next/tree/HEAD/packages/antdv-next) | `1.5.2` | `1.6.0` |\n| [bpmn-js-properties-panel](https://github.com/bpmn-io/bpmn-js-properties-panel) | `5.54.0` | `5.65.2` |\n| [bpmn-js](https://github.com/bpmn-io/bpmn-js) | `18.25.1` | `18.31.0` |\n| [cac](https://github.com/cacjs/cac) | `7.0.0` | `7.0.1` |\n| [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `10.1.1` | `10.3.6` |\n| [diagram-js](https://github.com/bpmn-io/diagram-js) | `15.24.1` | `15.28.1` |\n| [element-plus](https://github.com/element-plus/element-plus) | `2.14.5` | `2.14.7` |\n| [es-toolkit](https://github.com/toss/es-toolkit) | `1.51.0` | `1.52.0` |\n| [eslint-plugin-better-tailwindcss](https://github.com/schoero/eslint-plugin-better-tailwindcss) | `4.7.0` | `4.9.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist) | `5.10.1` | `5.12.1` |\n| [eslint-plugin-pnpm](https://github.com/antfu/pnpm-workspace-utils/tree/HEAD/packages/eslint-plugin-pnpm) | `1.8.0` | `1.9.1` |\n| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.10.0` | `10.11.1` |\n| [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) | `3.8.1` | `3.9.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.12.0` |\n| [execa](https://github.com/sindresorhus/execa) | `10.0.1` | `10.1.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.11.0` | `17.13.0` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.11.8` | `20.14.6` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.32.3` | `6.41.0` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.10` | `2.2.1` |\n| [livekit-client](https://github.com/livekit/client-sdk-js) | `2.22.1` | `2.22.4` |\n| [naive-ui](https://github.com/tusen-ai/naive-ui) | `2.45.2` | `2.45.3` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.60.0` | `0.72.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.80.0` | `1.87.0` |\n| [pkg-types](https://github.com/unjs/pkg-types) | `2.3.1` | `2.3.3` |\n| [playwright](https://github.com/microsoft/playwright) | `1.62.1` | `1.64.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.26` | `8.5.29` |\n| [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) | `0.3.24` | `0.3.25` |\n| [qs](https://github.com/ljharb/qs) | `6.15.3` | `6.16.0` |\n| [reka-ui](https://github.com/unovue/reka-ui) | `2.10.4` | `2.11.0` |\n| [sass-embedded](https://github.com/sass/embedded-host-node) | `1.103.1` | `1.105.1` |\n| [sass](https://github.com/sass/dart-sass) | `1.103.1` | `1.105.1` |\n| [stylelint-order](https://github.com/hudochenkov/stylelint-order) | `8.1.1` | `8.1.2` |\n| [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) | `7.2.0` | `7.3.0` |\n| [stylelint](https://github.com/stylelint/stylelint) | `17.14.1` | `17.16.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge/tree/HEAD/packages/tailwind-merge) | `3.6.0` | `3.7.0` |\n| [tdesign-vue-next](https://github.com/Tencent/tdesign-vue-next/tree/HEAD/packages/tdesign-vue-next) | `1.20.6` | `1.20.9` |\n| [tsdown](https://github.com/rolldown/tsdown) | `0.22.14` | `0.23.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.12` | `2.11.7` |\n| [tyme4ts](https://github.com/6tail/tyme4ts) | `1.5.2` | `1.5.3` |\n| [unplugin-dts](https://github.com/qmhc/unplugin-dts/tree/HEAD/packages/unplugin-dts) | `1.0.3` | `1.1.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.4` |\n| [vitepress-plugin-group-icons](https://github.com/yuyinws/vitepress-plugin-group-icons) | `1.7.6` | `1.7.7` |\n| [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) | `11.4.10` | `11.4.14` |\n| [vue-router](https://github.com/vuejs/router) | `5.2.0` | `5.4.0` |\n| [vue-tippy](https://github.com/KABBOUCHI/vue-tippy) | `6.7.1` | `6.8.0` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.11` | `3.3.13` |\n| [vue3-signature](https://github.com/WangShayne/vue3-signature) | `0.4.4` | `0.4.5` |\n| [vue](https://github.com/vuejs/core) | `3.5.42` | `3.5.43` |\n| [vxe-pc-ui](https://github.com/x-extends/vxe-pc-ui) | `4.17.19` | `4.19.5` |\n| [vxe-table](https://github.com/x-extends/vxe-table) | `4.21.2` | `4.22.4` |\n| [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.5` |\n| [@ast-grep/napi](https://github.com/ast-grep/ast-grep) | `0.44.1` | `0.50.0` |\n\n\nUpdates `@clack/prompts` from 1.7.0 to 1.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bombshell-dev/clack/releases\"\u003e@​clack/prompts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​clack/prompts\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.8.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Return type for prompts now correctly specifies \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e instead of \u003ccode\u003esymbol\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​clack/prompts\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.8.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/592\"\u003e#592\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e constant from \u003ccode\u003e@clack/core\u003c/code\u003e and \u003ccode\u003e@clack/prompts\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/594\"\u003e#594\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dreyfus92\"\u003e\u003ccode\u003e@​dreyfus92\u003c/code\u003e\u003c/a\u003e! - Add tab-completion to the \u003ccode\u003epath\u003c/code\u003e prompt: pressing Tab fills the input with the focused suggestion, so you can quickly descend into deep directories (type \u003ccode\u003e/\u003c/code\u003e and Tab again). Powered by a new opt-in \u003ccode\u003ecompleteOnTab\u003c/code\u003e option on \u003ccode\u003eautocomplete\u003c/code\u003e, which also shows a \u003ccode\u003eTab: complete\u003c/code\u003e hint in the instructions footer. Default \u003ccode\u003eautocomplete\u003c/code\u003e behavior is unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/583\"\u003e#583\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Add async validation support to prompts, and validation state rendering to text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/588\"\u003e#588\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/65061353e65e468035d8d8c7de9359926774626d\"\u003e\u003ccode\u003e6506135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e! - Style the guide bar rendered by \u003ccode\u003ebox({ withGuide: true })\u003c/code\u003e in grey so it matches the gutter drawn by \u003ccode\u003elog\u003c/code\u003e, \u003ccode\u003enote\u003c/code\u003e and the spinner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/599\"\u003e#599\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/0547d6f4c16c4580b06c592e698b9ceb621f2547\"\u003e\u003ccode\u003e0547d6f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Fixes a withGuide rendering issue leaving extra spaces in text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/227583efb6d3fb353477a2df7279a33f77e7837b\"\u003e\u003ccode\u003e227583e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/b20fa2b75446389b4caf6bb16ad660a966175f8a\"\u003e\u003ccode\u003eb20fa2b\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bombshell-dev/clack/blob/main/packages/prompts/CHANGELOG.md\"\u003e@​clack/prompts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Return type for prompts now correctly specifies \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e instead of \u003ccode\u003esymbol\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/592\"\u003e#592\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e constant from \u003ccode\u003e@clack/core\u003c/code\u003e and \u003ccode\u003e@clack/prompts\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/594\"\u003e#594\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dreyfus92\"\u003e\u003ccode\u003e@​dreyfus92\u003c/code\u003e\u003c/a\u003e! - Add tab-completion to the \u003ccode\u003epath\u003c/code\u003e prompt: pressing Tab fills the input with the focused suggestion, so you can quickly descend into deep directories (type \u003ccode\u003e/\u003c/code\u003e and Tab again). Powered by a new opt-in \u003ccode\u003ecompleteOnTab\u003c/code\u003e option on \u003ccode\u003eautocomplete\u003c/code\u003e, which also shows a \u003ccode\u003eTab: complete\u003c/code\u003e hint in the instructions footer. Default \u003ccode\u003eautocomplete\u003c/code\u003e behavior is unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/583\"\u003e#583\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Add async validation support to prompts, and validation state rendering to text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/588\"\u003e#588\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/65061353e65e468035d8d8c7de9359926774626d\"\u003e\u003ccode\u003e6506135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e! - Style the guide bar rendered by \u003ccode\u003ebox({ withGuide: true })\u003c/code\u003e in grey so it matches the gutter drawn by \u003ccode\u003elog\u003c/code\u003e, \u003ccode\u003enote\u003c/code\u003e and the spinner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/599\"\u003e#599\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/0547d6f4c16c4580b06c592e698b9ceb621f2547\"\u003e\u003ccode\u003e0547d6f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Fixes a withGuide rendering issue leaving extra spaces in text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/227583efb6d3fb353477a2df7279a33f77e7837b\"\u003e\u003ccode\u003e227583e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/b20fa2b75446389b4caf6bb16ad660a966175f8a\"\u003e\u003ccode\u003eb20fa2b\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/da44e23128c2f6a64f908224683e22d1190a576b\"\u003e\u003ccode\u003eda44e23\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e fix: correctly specify return type of \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/601\"\u003e#601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/de1ef162ee8e508e86e76b4d91b334d3d5869733\"\u003e\u003ccode\u003ede1ef16\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/0547d6f4c16c4580b06c592e698b9ceb621f2547\"\u003e\u003ccode\u003e0547d6f\u003c/code\u003e\u003c/a\u003e fix: output submit gap only when guide enabled (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/599\"\u003e#599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e feat: add async validation (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e feat(prompts): add tab-completion to path prompt (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/594\"\u003e#594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e feat: export \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8d8124826fa119944c833545b3e8919f85782350\"\u003e\u003ccode\u003e8d81248\u003c/code\u003e\u003c/a\u003e chore: stop publishing CHANGELOG.md to npm (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/e2380704ff22d7f599a45f62d710f2f8c0c093e5\"\u003e\u003ccode\u003ee238070\u003c/code\u003e\u003c/a\u003e test(box): remove redundant test (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/65061353e65e468035d8d8c7de9359926774626d\"\u003e\u003ccode\u003e6506135\u003c/code\u003e\u003c/a\u003e fix(prompts): style box guide bar to match other gutters (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bombshell-dev/clack/commits/@clack/prompts@1.8.1/packages/prompts\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erules:\u003c/strong\u003e report the case that matched in case rule failure messages (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4962\"\u003e#4962\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e9f5f7bc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e\u003ccode\u003e9f5f7bc\u003c/code\u003e\u003c/a\u003e fix(rules): report the case that matched in case rule failure messages (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4962\"\u003e#4962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ctrl/tinycolor` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scttcper/tinycolor/releases\"\u003e@​ctrl/tinycolor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cp\u003ePatch release focused on performance and bug fixes, with no new APIs or features.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up hex and named-color parsing, hex formatting, channel normalization, and contrast calculations. Reuse parsed colors when selecting readable text. (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle empty candidate lists in \u003ccode\u003emostReadable\u003c/code\u003e: return \u003ccode\u003enull\u003c/code\u003e without fallback, or choose black/white when fallback colors are enabled.\u003c/li\u003e\n\u003cli\u003eAdd regression coverage for invalid names, uppercase custom color values, hex shortening, and tied candidates.\u003c/li\u003e\n\u003cli\u003eBenchmark freshly built output through Node's native module loader, including rebuilds in watch mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eLocal compiled-build measurements at 061fdb8 against pre-change master on Node 24.16.0. Times are medians of nine alternating runs after warmup, with 100,000 operations per run.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eWorkflow\u003c/th\u003e\n\u003cth align=\"right\"\u003eBefore\u003c/th\u003e\n\u003cth align=\"right\"\u003eAfter\u003c/th\u003e\n\u003cth align=\"right\"\u003eThroughput gain\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eHex parsing\u003c/td\u003e\n\u003ctd align=\"right\"\u003e28.91 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e17.74 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.63x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBare hex parsing\u003c/td\u003e\n\u003ctd align=\"right\"\u003e35.31 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e23.43 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.51x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNamed colors\u003c/td\u003e\n\u003ctd align=\"right\"\u003e30.22 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e18.19 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.66x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHex formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e8.69 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e3.84 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e2.26x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHex8 formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e9.93 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e5.09 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.95x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHSL formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e10.64 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e8.74 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.22x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePercentage formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e9.52 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e9.19 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.04x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eParse and format\u003c/td\u003e\n\u003ctd align=\"right\"\u003e60.63 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e53.24 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.14x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLighten and saturate\u003c/td\u003e\n\u003ctd align=\"right\"\u003e125.50 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e101.05 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.24x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMixing colors\u003c/td\u003e\n\u003ctd align=\"right\"\u003e122.34 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e90.85 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.35x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAnalogous palette\u003c/td\u003e\n\u003ctd align=\"right\"\u003e309.43 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e252.93 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.22x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eContrast calculation\u003c/td\u003e\n\u003ctd align=\"right\"\u003e65.65 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e37.43 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.75x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSelecting readable text\u003c/td\u003e\n\u003ctd align=\"right\"\u003e294.96 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e75.18 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e3.92x\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/scttcper/tinycolor/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/scttcper/tinycolor/compare/v4.2.0...v4.2.1\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/scttcper/tinycolor/commit/52cf8c5e9bf5e4e4ba308ec7e5bef9e4841860c6\"\u003e\u003ccode\u003e52cf8c5\u003c/code\u003e\u003c/a\u003e ci(release): Stage npm packages for approval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/1eeae861185fcf062f07201906390953fc69634a\"\u003e\u003ccode\u003e1eeae86\u003c/code\u003e\u003c/a\u003e ci(release): Restore manual npm publishing with provenance (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/263\"\u003e#263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/6801d6beb2f974f6513209a505bcbc99c88c2afe\"\u003e\u003ccode\u003e6801d6b\u003c/code\u003e\u003c/a\u003e perf(color): Speed up parsing, formatting, and contrast checks (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/fd62e07292e423ad06285e23935ae54990a2c622\"\u003e\u003ccode\u003efd62e07\u003c/code\u003e\u003c/a\u003e build(tooling): Move to pnpm and update Vite and Vitest (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/7d3377a5878ac06863e133d9a4c2b22848e04f1d\"\u003e\u003ccode\u003e7d3377a\u003c/code\u003e\u003c/a\u003e fix: replaced link to color conversion reference (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/8eb79fc40d4a0b8a99413c7131b644b820645650\"\u003e\u003ccode\u003e8eb79fc\u003c/code\u003e\u003c/a\u003e build: remove publish\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scttcper/tinycolor/compare/v4.2.0...v4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​ctrl/tinycolor\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint-community/eslint-plugin-eslint-comments` from 4.7.2 to 4.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/releases\"\u003e@​eslint-community/eslint-plugin-eslint-comments's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.8.0...v4.8.1\"\u003e4.8.1\u003c/a\u003e (2026-09-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e:\u003c/strong\u003e key directive-comment cache on \u003ccode\u003eadditionalDirectives\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/329\"\u003e#329\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/de11b0e6db111ca9b605661f38521777e99d52bd\"\u003ede11b0e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.2...v4.8.0\"\u003e4.8.0\u003c/a\u003e (2026-09-07)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e:\u003c/strong\u003e \u003ccode\u003eadditionalDirectives\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/267\"\u003e#267\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/d9a7e4d877acb9ed53d9caea22fd098f908c559e\"\u003ed9a7e4d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/de11b0e6db111ca9b605661f38521777e99d52bd\"\u003e\u003ccode\u003ede11b0e\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e): key directive-comment cache on `additio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/d9a7e4d877acb9ed53d9caea22fd098f908c559e\"\u003e\u003ccode\u003ed9a7e4d\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e): \u003ccode\u003eadditionalDirectives\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/c930ed11643bdadf4761dcbc0c16b26ff0a67b30\"\u003e\u003ccode\u003ec930ed1\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/setup-node from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/a9b6af95f4d87c75aa2f9f16a8562107b09f2e07\"\u003e\u003ccode\u003ea9b6af9\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/checkout from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/325\"\u003e#325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/c843af146b20963fa8e9528005caebbfd6a14c99\"\u003e\u003ccode\u003ec843af1\u003c/code\u003e\u003c/a\u003e chore(deps): Bump codecov/codecov-action from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/323\"\u003e#323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.2...v4.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/ant-design-vue` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/antdv-next` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/element-ui` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/naive-ui` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@iconify/json` from 2.2.521 to 2.2.541\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/160026b3241486e814353df6399cec97b60af02f\"\u003e\u003ccode\u003e160026b\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/ee9080db012939b75424cd9abaa443fa4b914de7\"\u003e\u003ccode\u003eee9080d\u003c/code\u003e\u003c/a\u003e Update 16 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/a7ddea98b00a171c8056b9c5cc9338d0ffda6854\"\u003e\u003ccode\u003ea7ddea9\u003c/code\u003e\u003c/a\u003e Update 7 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/0000bdc81abed3d95931569102bac25d36c40b94\"\u003e\u003ccode\u003e0000bdc\u003c/code\u003e\u003c/a\u003e Update 11 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/b91a0d48b331b0fead8edb259c973c7faa269552\"\u003e\u003ccode\u003eb91a0d4\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/43130404cc0c8be8d2d371492d806fa940852f5c\"\u003e\u003ccode\u003e4313040\u003c/code\u003e\u003c/a\u003e Update 5 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/7552d0b10672d46f76069fc5f8c753af2e1baba4\"\u003e\u003ccode\u003e7552d0b\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/34ae9f5b718f9edafa4fba1f205e10b4bf802e5d\"\u003e\u003ccode\u003e34ae9f5\u003c/code\u003e\u003c/a\u003e Update 16 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/69e3bdc2d91b5daea6cb7fe7b2854922236671a3\"\u003e\u003ccode\u003e69e3bdc\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/110101808e076a0e3b55a74051331eb9ffc53746\"\u003e\u003ccode\u003e1101018\u003c/code\u003e\u003c/a\u003e Update 6 icon sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/iconify/icon-sets/compare/2.2.521...2.2.541\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@iconify/vue` from 5.0.1 to 5.0.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/iconify/iconify/commits/HEAD/components/vue\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@intlify/core-base` from 11.4.10 to 11.4.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/intlify/vue-i18n/releases\"\u003e@​intlify/core-base's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.4.14\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(shared): neutralize srcdoc attribute in sanitizeTranslatedHtml by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2679\"\u003eintlify/vue-i18n#2679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(core-base): escape both list and named values with escapeParameter by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2680\"\u003eintlify/vue-i18n#2680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore locales named after Object.prototype properties by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2681\"\u003eintlify/vue-i18n#2681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👕 Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(core-base): extract the resolved message format check by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2674\"\u003eintlify/vue-i18n#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): remove dead branches in getCoreContext() by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2675\"\u003eintlify/vue-i18n#2675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): share the fallbackContext handling in the composer by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2676\"\u003eintlify/vue-i18n#2676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): simplify flat JSON handling in setLocaleMessage / mergeLocaleMessage by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2677\"\u003eintlify/vue-i18n#2677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(core-base): give the compile cache a proper type by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2678\"\u003eintlify/vue-i18n#2678\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.4.13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e⚡ Improvement Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): map locale unions without the UnionToTuple round-trip by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2651\"\u003eintlify/vue-i18n#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.4.12\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): cache locale chains by fallback identity by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2635\"\u003eintlify/vue-i18n#2635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(vue-i18n-core): sync the core context when inheritLocale is enabled by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2636\"\u003eintlify/vue-i18n#2636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.10...v11.4.12\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.10...v11.4.12\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/intlify/vue-i18n/blob/v11.4.14/CHANGELOG.md\"\u003e@​intlify/core-base's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.4.14 (2026-10-10T11:06:13.502Z)\u003c/h1\u003e\n\u003cp\u003eThis changelog is generated by \u003ca href=\"https://github.com/intlify/vue-i18n/releases/tag/v11.4.14\"\u003eGitHub Releases\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(shared): neutralize srcdoc attribute in sanitizeTranslatedHtml by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2679\"\u003eintlify/vue-i18n#2679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(core-base): escape both list and named values with escapeParameter by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2680\"\u003eintlify/vue-i18n#2680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore locales named after Object.prototype properties by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2681\"\u003eintlify/vue-i18n#2681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👕 Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(core-base): extract the resolved message format check by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2674\"\u003eintlify/vue-i18n#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): remove dead branches in getCoreContext() by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2675\"\u003eintlify/vue-i18n#2675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): share the fallbackContext handling in the composer by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2676\"\u003eintlify/vue-i18n#2676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): simplify flat JSON handling in setLocaleMessage / mergeLocaleMessage by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2677\"\u003eintlify/vue-i18n#2677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(core-base): give the compile cache a proper type by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2678\"\u003eintlify/vue-i18n#2678\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.4.13 (2026-10-02T11:01:59.781Z)\u003c/h1\u003e\n\u003cp\u003eThis changelog is generated by \u003ca href=\"https://github.com/intlify/vue-i18n/releases/tag/v11.4.13\"\u003eGitHub Releases\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e⚡ Improvement Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): map locale unions without the UnionToTuple round-trip by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2651\"\u003eintlify/vue-i18n#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.4.12 (2026-09-16T14:30:30.396Z)\u003c/h1\u003e\n\u003cp\u003eThis changelog is generated by \u003ca href=\"https://github.com/intlify/vue-i18n/releases/tag/v11.4.12\"\u003eGitHub Releases\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): cache locale chains by fallback identity by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2635\"\u003eintlify/vue-i18n#2635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(vue-i18n-core): sync the core context when inheritLocale is enabled by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2636\"\u003eintlify/vue-i18n#2636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/intlify/vue-i18n/commit/6bb9ebdeae4955cafb53e82bc461199f6186f573\"\u003e\u003ccode\u003e6bb9ebd\u003c/code\u003e\u003c/a\u003e release: v11.4.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/intlify/vue-i18n/commit/f6b3e75a16f43f4d9a7a567b1b36cd638e880831\"\u003e\u003ccode\u003ef6b3e75\u003c/code\u003e\u003c/a\u003e release: v11.4.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/intlify/vue-i18n/commit/87f3745072ca15cbd2d1eb8d030aed10639b0e3e\"\u003e\u003ccode\u003e87f3745\u003c/code\u003e\u003c/a\u003e release: v11.4.12\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/intlify/vue-i18n/commits/v11.4.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jspm/generator` from 2.16.3 to 2.17.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jspm/jspm/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@lucide/vue` from 1.34.0 to 1.55.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lucide-icons/lucide/releases\"\u003e@​lucide/vue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.55.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003email-dot\u003c/code\u003e icon by \u003ca href=\"https://github.com/elenakovelskikh\"\u003e\u003ccode\u003e@​elenakovelskikh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3230\"\u003elucide-icons/lucide#3230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(lint): split lint jobs and annotate Prettier and JSON schema errors in PRs by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4982\"\u003elucide-icons/lucide#4982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump sharp from 0.35.4 to 0.35.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4987\"\u003elucide-icons/lucide#4987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump next from 16.3.6 to 16.3.8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4988\"\u003elucide-icons/lucide#4988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(lucide): add tests for empty icons error and DocumentFragment root in createIcons by \u003ca href=\"https://github.com/grzdev\"\u003e\u003ccode\u003e@​grzdev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4967\"\u003elucide-icons/lucide#4967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ephone-log\u003c/code\u003e icon by \u003ca href=\"https://github.com/Levi-Bensley\"\u003e\u003ccode\u003e@​Levi-Bensley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3598\"\u003elucide-icons/lucide#3598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(copilot-instruction): Adjust instruction text to allow more then 4 use-cases by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4989\"\u003elucide-icons/lucide#4989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ewifi-lock\u003c/code\u003e icon by \u003ca href=\"https://github.com/benhaube\"\u003e\u003ccode\u003e@​benhaube\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4913\"\u003elucide-icons/lucide#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): Add \u003ccode\u003ehandle-bottom-right\u003c/code\u003e icon by \u003ca href=\"https://github.com/ocavue\"\u003e\u003ccode\u003e@​ocavue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/1793\"\u003elucide-icons/lucide#1793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(lucide-react): add tests for DynamicIcon fallback and ref forwarding by \u003ca href=\"https://github.com/grzdev\"\u003e\u003ccode\u003e@​grzdev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4966\"\u003elucide-icons/lucide#4966\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003escrew\u003c/code\u003e icon by \u003ca href=\"https://github.com/edik17\"\u003e\u003ccode\u003e@​edik17\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4932\"\u003elucide-icons/lucide#4932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003euser-round-star\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3469\"\u003elucide-icons/lucide#3469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eshield-house\u003c/code\u003e icon by \u003ca href=\"https://github.com/benhaube\"\u003e\u003ccode\u003e@​benhaube\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4602\"\u003elucide-icons/lucide#4602\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/grzdev\"\u003e\u003ccode\u003e@​grzdev\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4967\"\u003elucide-icons/lucide#4967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Levi-Bensley\"\u003e\u003ccode\u003e@​Levi-Bensley\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3598\"\u003elucide-icons/lucide#3598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edik17\"\u003e\u003ccode\u003e@​edik17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4932\"\u003elucide-icons/lucide#4932\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.54.0...1.55.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.54.0...1.55.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.54.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003elens\u003c/code\u003e icon by \u003ca href=\"https://github.com/rrod497\"\u003e\u003ccode\u003e@​rrod497\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4923\"\u003elucide-icons/lucide#4923\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.53.0...1.54.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.53.0...1.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.53.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps-dev): bump preact from 10.29.8 to 11.0.0 in the preact-deps group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4961\"\u003elucide-icons/lucide#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump vue from 3.5.42 to 3.5.43 in the vue-deps group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4958\"\u003elucide-icons/lucide#4958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(site): Fix reset button and rename absolute stroke width to non-scaling stroke by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4956\"\u003elucide-icons/lucide#4956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump simple-git from 3.36.0 to 4.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4968\"\u003elucide-icons/lucide#4968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the angular-deps group across 1 directory with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4960\"\u003elucide-icons/lucide#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(categories): Add description field to categories by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4909\"\u003elucide-icons/lucide#4909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003egroceries\u003c/code\u003e icon by \u003ca href=\"https://github.com/rrod497\"\u003e\u003ccode\u003e@​rrod497\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4907\"\u003elucide-icons/lucide#4907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003epen-tool\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4972\"\u003elucide-icons/lucide#4972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added new \u003ccode\u003ehiking-stick\u003c/code\u003e icon by \u003ca href=\"https://github.com/kamilasw\"\u003e\u003ccode\u003e@​kamilasw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4711\"\u003elucide-icons/lucide#4711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added scratch-blocks icon by \u003ca href=\"https://github.com/mc20000-01\"\u003e\u003ccode\u003e@​mc20000-01\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4969\"\u003elucide-icons/lucide#4969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003esoup\u003c/code\u003e and \u003ccode\u003esalad\u003c/code\u003e icons by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4971\"\u003elucide-icons/lucide#4971\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/mc20000-01\"\u003e\u003ccode\u003e@​mc20000-01\u003c/code\u003e\u003c/a\u003e made ...\n\n_Description has been truncated_","html_url":"https://github.com/bongxin/yudao-ui-admin-vben/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bongxin%2Fyudao-ui-admin-vben/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"},{"uuid":"5842873711","node_id":"PR_kwDOPvuaN88AAAABIU4NjQ","number":301,"state":"closed","title":"chore(deps)(deps): bump the all-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-21T02:06:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T06:09:25.000Z","updated_at":"2026-10-21T02:06:17.000Z","time_to_close":590202,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"all-dependencies","update_count":33,"packages":[{"name":"@npmcli/package-json","old_version":"7.0.4","new_version":"8.0.0","repository_url":"https://github.com/npm/package-json"},{"name":"ajv","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/ajv-validator/ajv"},{"name":"express","old_version":"5.2.1","new_version":"5.3.0","repository_url":"https://github.com/expressjs/express"},{"name":"helmet","old_version":"8.2.0","new_version":"8.3.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"js-yaml","old_version":"4.3.2","new_version":"5.4.3","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"ora","old_version":"8.2.0","new_version":"9.4.1","repository_url":"https://github.com/sindresorhus/ora"},{"name":"standardwebhooks","old_version":"1.0.0","new_version":"1.1.1","repository_url":"https://github.com/standard-webhooks/standard-webhooks"},{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"19.8.1","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint/js","old_version":"9.39.5","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@size-limit/file","old_version":"11.2.0","new_version":"14.2.0","repository_url":"https://github.com/ai/size-limit"},{"name":"@types/node","old_version":"25.2.2","new_version":"26.6.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.65.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.65.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vercel/blob","old_version":"2.6.1","new_version":"2.8.1","repository_url":"https://github.com/vercel/storage"},{"name":"@vitest/coverage-v8","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"axe-core","old_version":"4.11.1","new_version":"4.14.0","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"c8","old_version":"10.1.3","new_version":"12.0.0","repository_url":"https://github.com/bcoe/c8"},{"name":"eslint","old_version":"9.39.5","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-security","old_version":"4.0.1","new_version":"4.2.0","repository_url":"https://github.com/eslint-community/eslint-plugin-security"},{"name":"globals","old_version":"15.15.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"knip","old_version":"6.0.1","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"license-checker-rseidelsohn","old_version":"4.4.2","new_version":"5.0.1","repository_url":"https://github.com/RSeidelsohn/license-checker-rseidelsohn"},{"name":"lint-staged","old_version":"15.5.2","new_version":"17.6.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"markdownlint-cli2","old_version":"0.21.0","new_version":"0.23.3","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"postcss","old_version":"8.5.23","new_version":"8.5.29","repository_url":"https://github.com/postcss/postcss"},{"name":"prettier","old_version":"3.8.1","new_version":"3.9.10","repository_url":"https://github.com/prettier/prettier"},{"name":"size-limit","old_version":"11.2.0","new_version":"14.2.0","repository_url":"https://github.com/ai/size-limit"},{"name":"stylelint","old_version":"16.26.1","new_version":"17.16.0","repository_url":"https://github.com/stylelint/stylelint"},{"name":"stylelint-config-standard","old_version":"37.0.0","new_version":"40.0.0","repository_url":"https://github.com/stylelint/stylelint-config-standard"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vitest","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@npmcli/package-json](https://github.com/npm/package-json) | `7.0.4` | `8.0.0` |\n| [ajv](https://github.com/ajv-validator/ajv) | `8.18.0` | `8.20.0` |\n| [express](https://github.com/expressjs/express) | `5.2.1` | `5.3.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `8.2.0` | `8.3.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.3.2` | `5.4.3` |\n| [ora](https://github.com/sindresorhus/ora) | `8.2.0` | `9.4.1` |\n| [standardwebhooks](https://github.com/standard-webhooks/standard-webhooks) | `1.0.0` | `1.1.1` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `19.8.1` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `19.8.1` | `21.2.3` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.5` | `10.0.1` |\n| [@size-limit/file](https://github.com/ai/size-limit) | `11.2.0` | `14.2.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.2` | `26.6.5` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.65.0` | `8.71.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.65.0` | `8.71.1` |\n| [@vercel/blob](https://github.com/vercel/storage/tree/HEAD/packages/blob) | `2.6.1` | `2.8.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.11` | `5.0.3` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `4.11.1` | `4.14.0` |\n| [c8](https://github.com/bcoe/c8) | `10.1.3` | `12.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.5` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.2.2` | `18.4.1` |\n| [eslint-plugin-security](https://github.com/eslint-community/eslint-plugin-security) | `4.0.1` | `4.2.0` |\n| [globals](https://github.com/sindresorhus/globals) | `15.15.0` | `17.13.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.0.1` | `6.41.0` |\n| [license-checker-rseidelsohn](https://github.com/RSeidelsohn/license-checker-rseidelsohn) | `4.4.2` | `5.0.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `17.6.0` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.21.0` | `0.23.3` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.23` | `8.5.29` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.9.10` |\n| [size-limit](https://github.com/ai/size-limit) | `11.2.0` | `14.2.0` |\n| [stylelint](https://github.com/stylelint/stylelint) | `16.26.1` | `17.16.0` |\n| [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) | `37.0.0` | `40.0.0` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.11` | `5.0.3` |\n\n\nUpdates `@npmcli/package-json` from 7.0.4 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/npm/package-json/releases\"\u003e@​npmcli/package-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/package-json/compare/v7.0.5...v8.0.0\"\u003e8.0.0\u003c/a\u003e (2026-05-22)\u003c/h2\u003e\n\u003ch3\u003e⚠️ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@npmcli/package-json\u003c/code\u003e now supports node \u003ccode\u003e^22.22.2 || ^24.15.0 || \u0026gt;=26.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003etemplate-oss-apply\u003c/li\u003e\n\u003cli\u003eThe \u0026quot;server.js\u0026quot; handling was removed, so \u0026quot;scripts.start\u0026quot; will not be set to \u0026quot;node server.js\u0026quot; if a \u0026quot;server.js\u0026quot; file exists.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/b0ebae13296e44689307c7540ac0413ea7b752b9\"\u003e\u003ccode\u003eb0ebae1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bump to new node engine range (\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/package-json/commit/5898ac5a81963f35c3631e23de656ec83500dec1\"\u003e\u003ccode\u003e5898ac5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/2ac3b348aecc67ca73cdeba10428cdd455b9d2a8\"\u003e\u003ccode\u003e2ac3b34\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/177\"\u003e#177\u003c/a\u003e normalize the top-level overrides field (\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/package-json/commit/057fd255bd5298c52bc7589d2d41b4e2e1e24159\"\u003e\u003ccode\u003e057fd25\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\u003c/a\u003e remove magic \u0026quot;server.js\u0026quot; handling (\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\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/126f578fc58c38ad6f1dcec70426a565389aa757\"\u003e\u003ccode\u003e126f578\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003eproc-log@7.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/fe58bf6be8d8b6a29e29f9a33075abbda1116f2f\"\u003e\u003ccode\u003efe58bf6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ejson-parse-even-better-errors@6.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/59d01ace798bf6dd2af4d791e043e58022f49f0d\"\u003e\u003ccode\u003e59d01ac\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ehosted-git-info@10.1.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/1f2ff5fa3cb4e8465e3cae532374ea2f004bab1f\"\u003e\u003ccode\u003e1f2ff5f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/git@8.0.0\u003c/code\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/package-json/commit/3188f3d3597e76bd761bdeca2585a7768c2864d0\"\u003e\u003ccode\u003e3188f3d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e snapshot update for hosted-git-info change (\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/package-json/commit/c433eb8927b2392f5f8908b8449f693ea6b1ccb3\"\u003e\u003ccode\u003ec433eb8\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/eslint-config@7.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/package-json/commit/6212bdfbb67070330b16fe06cd25ff0379f6b9f6\"\u003e\u003ccode\u003e6212bdf\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/c23823f14bff37fa08c7f040b54d554a3980a667\"\u003e\u003ccode\u003ec23823f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bumping \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 5.1.0 (\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/package-json/commit/1affdf1c3ce78b78775ef29faa2f45fa08abb1e9\"\u003e\u003ccode\u003e1affdf1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\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/package-json/commit/ece3cb6c849446bc25d9646a8828dc358d089599\"\u003e\u003ccode\u003eece3cb6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/170\"\u003e#170\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.1 to 4.29.0 (\u003ca href=\"https://redirect.github.com/npm/package-json/issues/170\"\u003e#170\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.0.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/package-json/compare/v7.0.4...v7.0.5\"\u003e7.0.5\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/09b981db4a566dd743864bbef17ec7c7a65fcf03\"\u003e\u003ccode\u003e09b981d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e inline license validation code (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\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/package-json/commit/cb3e6770c1412629e03997775a63d7b49defb69d\"\u003e\u003ccode\u003ecb3e677\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e \u003ccode\u003espdx-expression-parse@4.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/61738b2345624e25fab0df6a7f5a1d116ee9babd\"\u003e\u003ccode\u003e61738b2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e remove validate-npm-package-license\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/package-json/commit/bd3b7eafa70c17ae96778386572ff98a5c01baff\"\u003e\u003ccode\u003ebd3b7ea\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/169\"\u003e#169\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/package-json/issues/169\"\u003e#169\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\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/npm/package-json/blob/main/CHANGELOG.md\"\u003e@​npmcli/package-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/package-json/compare/v7.0.5...v8.0.0\"\u003e8.0.0\u003c/a\u003e (2026-05-22)\u003c/h2\u003e\n\u003ch3\u003e⚠️ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@npmcli/package-json\u003c/code\u003e now supports node \u003ccode\u003e^22.22.2 || ^24.15.0 || \u0026gt;=26.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003etemplate-oss-apply\u003c/li\u003e\n\u003cli\u003eThe \u0026quot;server.js\u0026quot; handling was removed, so \u0026quot;scripts.start\u0026quot; will not be set to \u0026quot;node server.js\u0026quot; if a \u0026quot;server.js\u0026quot; file exists.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/b0ebae13296e44689307c7540ac0413ea7b752b9\"\u003e\u003ccode\u003eb0ebae1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bump to new node engine range (\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/package-json/commit/5898ac5a81963f35c3631e23de656ec83500dec1\"\u003e\u003ccode\u003e5898ac5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/2ac3b348aecc67ca73cdeba10428cdd455b9d2a8\"\u003e\u003ccode\u003e2ac3b34\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/177\"\u003e#177\u003c/a\u003e normalize the top-level overrides field (\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/package-json/commit/057fd255bd5298c52bc7589d2d41b4e2e1e24159\"\u003e\u003ccode\u003e057fd25\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\u003c/a\u003e remove magic \u0026quot;server.js\u0026quot; handling (\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\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/126f578fc58c38ad6f1dcec70426a565389aa757\"\u003e\u003ccode\u003e126f578\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003eproc-log@7.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/fe58bf6be8d8b6a29e29f9a33075abbda1116f2f\"\u003e\u003ccode\u003efe58bf6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ejson-parse-even-better-errors@6.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/59d01ace798bf6dd2af4d791e043e58022f49f0d\"\u003e\u003ccode\u003e59d01ac\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ehosted-git-info@10.1.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/1f2ff5fa3cb4e8465e3cae532374ea2f004bab1f\"\u003e\u003ccode\u003e1f2ff5f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/git@8.0.0\u003c/code\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/package-json/commit/3188f3d3597e76bd761bdeca2585a7768c2864d0\"\u003e\u003ccode\u003e3188f3d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e snapshot update for hosted-git-info change (\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/package-json/commit/c433eb8927b2392f5f8908b8449f693ea6b1ccb3\"\u003e\u003ccode\u003ec433eb8\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/eslint-config@7.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/package-json/commit/6212bdfbb67070330b16fe06cd25ff0379f6b9f6\"\u003e\u003ccode\u003e6212bdf\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/c23823f14bff37fa08c7f040b54d554a3980a667\"\u003e\u003ccode\u003ec23823f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bumping \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 5.1.0 (\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/package-json/commit/1affdf1c3ce78b78775ef29faa2f45fa08abb1e9\"\u003e\u003ccode\u003e1affdf1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\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/package-json/commit/ece3cb6c849446bc25d9646a8828dc358d089599\"\u003e\u003ccode\u003eece3cb6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/170\"\u003e#170\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.1 to 4.29.0 (\u003ca href=\"https://redirect.github.com/npm/package-json/issues/170\"\u003e#170\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/package-json/compare/v7.0.4...v7.0.5\"\u003e7.0.5\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/09b981db4a566dd743864bbef17ec7c7a65fcf03\"\u003e\u003ccode\u003e09b981d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e inline license validation code (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\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/package-json/commit/cb3e6770c1412629e03997775a63d7b49defb69d\"\u003e\u003ccode\u003ecb3e677\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e \u003ccode\u003espdx-expression-parse@4.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/61738b2345624e25fab0df6a7f5a1d116ee9babd\"\u003e\u003ccode\u003e61738b2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e remove validate-npm-package-license\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/package-json/commit/bd3b7eafa70c17ae96778386572ff98a5c01baff\"\u003e\u003ccode\u003ebd3b7ea\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/169\"\u003e#169\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/package-json/issues/169\"\u003e#169\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\u003c/blockquote\u003e\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/package-json/commit/ebc5daff41dfcdf43299799d4b5e7bd85e2bb132\"\u003e\u003ccode\u003eebc5daf\u003c/code\u003e\u003c/a\u003e chore: release 8.0.0 (\u003ca href=\"https://redirect.github.com/npm/package-json/issues/176\"\u003e#176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/3188f3d3597e76bd761bdeca2585a7768c2864d0\"\u003e\u003ccode\u003e3188f3d\u003c/code\u003e\u003c/a\u003e chore: snapshot update for hosted-git-info change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/c433eb8927b2392f5f8908b8449f693ea6b1ccb3\"\u003e\u003ccode\u003ec433eb8\u003c/code\u003e\u003c/a\u003e chore: \u003ccode\u003e@​npmcli/eslint-config\u003c/code\u003e\u003ca href=\"https://github.com/7\"\u003e\u003ccode\u003e@​7\u003c/code\u003e\u003c/a\u003e.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/126f578fc58c38ad6f1dcec70426a565389aa757\"\u003e\u003ccode\u003e126f578\u003c/code\u003e\u003c/a\u003e deps: proc-log@7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/fe58bf6be8d8b6a29e29f9a33075abbda1116f2f\"\u003e\u003ccode\u003efe58bf6\u003c/code\u003e\u003c/a\u003e deps: json-parse-even-better-errors@6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/59d01ace798bf6dd2af4d791e043e58022f49f0d\"\u003e\u003ccode\u003e59d01ac\u003c/code\u003e\u003c/a\u003e deps: hosted-git-info@10.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/1f2ff5fa3cb4e8465e3cae532374ea2f004bab1f\"\u003e\u003ccode\u003e1f2ff5f\u003c/code\u003e\u003c/a\u003e deps: \u003ccode\u003e@​npmcli/git\u003c/code\u003e\u003ca href=\"https://github.com/8\"\u003e\u003ccode\u003e@​8\u003c/code\u003e\u003c/a\u003e.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/6212bdfbb67070330b16fe06cd25ff0379f6b9f6\"\u003e\u003ccode\u003e6212bdf\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/b0ebae13296e44689307c7540ac0413ea7b752b9\"\u003e\u003ccode\u003eb0ebae1\u003c/code\u003e\u003c/a\u003e feat!: bump to new node engine range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/5898ac5a81963f35c3631e23de656ec83500dec1\"\u003e\u003ccode\u003e5898ac5\u003c/code\u003e\u003c/a\u003e feat!: template-oss-apply\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/npm/package-json/compare/v7.0.4...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ajv` from 8.18.0 to 8.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ajv-validator/ajv/releases\"\u003eajv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: add support for node 22/24, drop node 16/21 by \u003ca href=\"https://github.com/jasoniangreen\"\u003e\u003ccode\u003e@​jasoniangreen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2580\"\u003eajv-validator/ajv#2580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add ES2022.RegExp for RegExpIndicesArray by \u003ca href=\"https://github.com/SignpostMarv\"\u003e\u003ccode\u003e@​SignpostMarv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2604\"\u003eajv-validator/ajv#2604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix prototype pollution via format keyword using $data ref by \u003ca href=\"https://github.com/epoberezkin\"\u003e\u003ccode\u003e@​epoberezkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2607\"\u003eajv-validator/ajv#2607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/0fba0b8e649909613cfce0999b149cd08f4a4987\"\u003e\u003ccode\u003e0fba0b8\u003c/code\u003e\u003c/a\u003e 8.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/9caf8d64409b05e2c670b3ff09cf7ca07937342e\"\u003e\u003ccode\u003e9caf8d6\u003c/code\u003e\u003c/a\u003e fix: add ES2022.RegExp for RegExpIndicesArray; fixes \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2603\"\u003eajv-validator/ajv#2603\u003c/a\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/206535071f776f57737394c8896d4b2dc2bfb9a3\"\u003e\u003ccode\u003e2065350\u003c/code\u003e\u003c/a\u003e fix: add support for node 22/24, drop node 16/21 (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2580\"\u003e#2580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/154b58d690c6596e09ca676e12720ab8234ee3d2\"\u003e\u003ccode\u003e154b58d\u003c/code\u003e\u003c/a\u003e 8.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/e8d2bdc501b3ba6f03922db5e595770d4763d9da\"\u003e\u003ccode\u003ee8d2bdc\u003c/code\u003e\u003c/a\u003e test/fix prototype pollution via $data ref with format keyword (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2607\"\u003e#2607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 5.2.1 to 5.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e🐞 Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed HTTP header conflict between Content-Length and Transfer-Encoding in res.send - by \u003ca href=\"https://github.com/YuryShkoda\"\u003e\u003ccode\u003e@​YuryShkoda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/4893\"\u003e#4893\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFixed the behavior of \u003ccode\u003eres.send()\u003c/code\u003e to prevent conflicts between \u003ccode\u003eContent-Length\u003c/code\u003e and \u003ccode\u003eTransfer-Encoding\u003c/code\u003e HTTP headers in responses. The \u003ccode\u003eContent-Length\u003c/code\u003e header in \u003ccode\u003eres.send()\u003c/code\u003e is now only added when a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header is not present, complying with the HTTP specification that states both headers should not coexist in the same response. ETag generation is unaffected by the presence of a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header - by \u003ca href=\"https://github.com/cuishuang\"\u003e\u003ccode\u003e@​cuishuang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7459\"\u003e#7459\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eqs\u003c/code\u003e to \u003ccode\u003e^6.16.0\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2391\"\u003eCVE-2026-2391\u003c/a\u003e (\u003ca href=\"https://github.com/ljharb/qs/security/advisories/GHSA-w7fw-mjwx-w883\"\u003eGHSA-w7fw-mjwx-w883\u003c/a\u003e), \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82417\"\u003eCVE-2026-82417\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-4mjr-xmp4-gh2g\"\u003eGHSA-4mjr-xmp4-gh2g\u003c/a\u003e) and \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82562\"\u003eCVE-2026-82562\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-x5fp-wj9c-mxmx\"\u003eGHSA-x5fp-wj9c-mxmx\u003c/a\u003e): \u003ccode\u003earrayLimit\u003c/code\u003e bypasses in comma parsing and a denial of service via an attacker-controlled \u003ccode\u003eisBuffer\u003c/code\u003e - by \u003ca href=\"https://github.com/davetashner\"\u003e\u003ccode\u003e@​davetashner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7057\"\u003e#7057\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7478\"\u003e#7478\u003c/a\u003e, and \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7305\"\u003e#7305\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eproxy-addr\u003c/code\u003e to \u003ccode\u003e^2.0.8\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-90711\"\u003eCVE-2026-90711\u003c/a\u003e - by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7474\"\u003e#7474\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚀 Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow conditional revalidation for QUERY requests. \u003ccode\u003ereq.fresh\u003c/code\u003e previously only validated freshness for GET and HEAD requests, so QUERY responses never returned 304 despite a matching validator. Since QUERY is a safe, idempotent, and cacheable method that supports conditional requests, it is now included in the freshness check - by \u003ca href=\"https://github.com/Cherry\"\u003e\u003ccode\u003e@​Cherry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7366\"\u003e#7366\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// QUERY /reports with If-None-Match: \u0026quot;12345\u0026quot;\r\napp.query('/reports', (req, res) =\u0026gt; {\r\n  res.set('ETag', '\u0026quot;12345\u0026quot;');\r\n  res.send(results); // now responds 304 Not Modified\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove HTML structure in \u003ccode\u003eres.redirect()\u003c/code\u003e responses when HTML format is accepted by adding \u003ccode\u003e\u0026lt;!DOCTYPE html\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e, and \u003ccode\u003e\u0026lt;body\u0026gt;\u003c/code\u003e tags for better browser compatibility - by \u003ca href=\"https://github.com/Bernice55231\"\u003e\u003ccode\u003e@​Bernice55231\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/5167\"\u003e#5167\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eapp.render\u003c/code\u003e with options set to null, the locals object is handled correctly, preventing unexpected errors and making the method behave the same as when options is omitted or an empty object is passed - by \u003ca href=\"https://github.com/AkaHarshit\"\u003eAkaHarshit\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6903\"\u003e#6903\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eapp.render('index', null, callback); // now works as expected\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-type\u003c/code\u003e to \u003ccode\u003e^2.0.0\u003c/code\u003e, bringing a faster parser (~1.5x quicker \u003ccode\u003eContent-Type\u003c/code\u003e parsing/formatting in \u003ccode\u003eres.send()\u003c/code\u003e) along with a behavior change: \u003ccode\u003eres.send()\u003c/code\u003e now keeps any existing parameters when adding the charset and no longer throws on a \u003ccode\u003eContent-Type\u003c/code\u003e that fails to parse. \u003ccode\u003etype-is\u003c/code\u003e is upgraded to \u003ccode\u003e^2.1.0\u003c/code\u003e as part of the same change - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7234\"\u003e#7234\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.set('Content-Type', 'text/plain; foo=bar').send('hey');\r\n// -\u0026gt; Content-Type: text/plain; foo=bar; charset=utf-8\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe default error handler now logs the full error object instead of only its stack trace, so nested details such as \u003ccode\u003eError.cause\u003c/code\u003e and library-specific properties (e.g. Sequelize's \u003ccode\u003eparent\u003c/code\u003e/\u003ccode\u003eoriginal\u003c/code\u003e) are no longer swallowed - by \u003ca href=\"https://github.com/Nitin-Mohapatra\"\u003e\u003ccode\u003e@​Nitin-Mohapatra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6464\"\u003e#6464\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-disposition\u003c/code\u003e to \u003ccode\u003e^2.0.1\u003c/code\u003e, which changes the \u003ccode\u003eContent-Disposition\u003c/code\u003e header emitted by \u003ccode\u003eres.download()\u003c/code\u003e, \u003ccode\u003eres.attachment()\u003c/code\u003e, and \u003ccode\u003eres.sendFile()\u003c/code\u003e: file names that are valid HTTP tokens are no longer wrapped in quotes. This is equivalent per RFC 6266, but applications asserting on the exact header bytes should update their expectations - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7233\"\u003e#7233\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.attachment('user.html');\r\n// before -\u0026gt; Content-Disposition: attachment; filename=\u0026quot;user.html\u0026quot;\r\n// after  -\u0026gt; Content-Disposition: attachment; filename=user.html\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.3.0\u003c/h1\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed HTTP header conflict between Content-Length and Transfer-Encoding in res.send - by \u003ca href=\"https://github.com/YuryShkoda\"\u003e\u003ccode\u003e@​YuryShkoda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/4893\"\u003e#4893\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFixed the behavior of \u003ccode\u003eres.send()\u003c/code\u003e to prevent conflicts between \u003ccode\u003eContent-Length\u003c/code\u003e and \u003ccode\u003eTransfer-Encoding\u003c/code\u003e HTTP headers in responses. The \u003ccode\u003eContent-Length\u003c/code\u003e header in \u003ccode\u003eres.send()\u003c/code\u003e is now only added when a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header is not present, complying with the HTTP specification that states both headers should not coexist in the same response. ETag generation is unaffected by the presence of a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header - by \u003ca href=\"https://github.com/cuishuang\"\u003e\u003ccode\u003e@​cuishuang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7459\"\u003e#7459\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eqs\u003c/code\u003e to \u003ccode\u003e^6.16.0\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2391\"\u003eCVE-2026-2391\u003c/a\u003e (\u003ca href=\"https://github.com/ljharb/qs/security/advisories/GHSA-w7fw-mjwx-w883\"\u003eGHSA-w7fw-mjwx-w883\u003c/a\u003e), \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82417\"\u003eCVE-2026-82417\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-4mjr-xmp4-gh2g\"\u003eGHSA-4mjr-xmp4-gh2g\u003c/a\u003e) and \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82562\"\u003eCVE-2026-82562\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-x5fp-wj9c-mxmx\"\u003eGHSA-x5fp-wj9c-mxmx\u003c/a\u003e): \u003ccode\u003earrayLimit\u003c/code\u003e bypasses in comma parsing and a denial of service via an attacker-controlled \u003ccode\u003eisBuffer\u003c/code\u003e - by \u003ca href=\"https://github.com/davetashner\"\u003e\u003ccode\u003e@​davetashner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7057\"\u003e#7057\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7478\"\u003e#7478\u003c/a\u003e, and \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7305\"\u003e#7305\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eproxy-addr\u003c/code\u003e to \u003ccode\u003e^2.0.8\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-90711\"\u003eCVE-2026-90711\u003c/a\u003e - by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7474\"\u003e#7474\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow conditional revalidation for QUERY requests. \u003ccode\u003ereq.fresh\u003c/code\u003e previously only validated freshness for GET and HEAD requests, so QUERY responses never returned 304 despite a matching validator. Since QUERY is a safe, idempotent, and cacheable method that supports conditional requests, it is now included in the freshness check - by \u003ca href=\"https://github.com/Cherry\"\u003e\u003ccode\u003e@​Cherry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7366\"\u003e#7366\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// QUERY /reports with If-None-Match: \u0026quot;12345\u0026quot;\napp.query('/reports', (req, res) =\u0026gt; {\n  res.set('ETag', '\u0026quot;12345\u0026quot;');\n  res.send(results); // now responds 304 Not Modified\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove HTML structure in \u003ccode\u003eres.redirect()\u003c/code\u003e responses when HTML format is accepted by adding \u003ccode\u003e\u0026lt;!DOCTYPE html\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e, and \u003ccode\u003e\u0026lt;body\u0026gt;\u003c/code\u003e tags for better browser compatibility - by \u003ca href=\"https://github.com/Bernice55231\"\u003e\u003ccode\u003e@​Bernice55231\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/5167\"\u003e#5167\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eapp.render\u003c/code\u003e with options set to null, the locals object is handled correctly, preventing unexpected errors and making the method behave the same as when options is omitted or an empty object is passed - by \u003ca href=\"https://github.com/AkaHarshit\"\u003eAkaHarshit\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6903\"\u003e#6903\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eapp.render('index', null, callback); // now works as expected\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-type\u003c/code\u003e to \u003ccode\u003e^2.0.0\u003c/code\u003e, bringing a faster parser (~1.5x quicker \u003ccode\u003eContent-Type\u003c/code\u003e parsing/formatting in \u003ccode\u003eres.send()\u003c/code\u003e) along with a behavior change: \u003ccode\u003eres.send()\u003c/code\u003e now keeps any existing parameters when adding the charset and no longer throws on a \u003ccode\u003eContent-Type\u003c/code\u003e that fails to parse. \u003ccode\u003etype-is\u003c/code\u003e is upgraded to \u003ccode\u003e^2.1.0\u003c/code\u003e as part of the same change - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7234\"\u003e#7234\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.set('Content-Type', 'text/plain; foo=bar').send('hey');\n// -\u0026gt; Content-Type: text/plain; foo=bar; charset=utf-8\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe default error handler now logs the full error object instead of only its stack trace, so nested details such as \u003ccode\u003eError.cause\u003c/code\u003e and library-specific properties (e.g. Sequelize's \u003ccode\u003eparent\u003c/code\u003e/\u003ccode\u003eoriginal\u003c/code\u003e) are no longer swallowed - by \u003ca href=\"https://github.com/Nitin-Mohapatra\"\u003e\u003ccode\u003e@​Nitin-Mohapatra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6464\"\u003e#6464\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-disposition\u003c/code\u003e to \u003ccode\u003e^2.0.1\u003c/code\u003e, which changes the \u003ccode\u003eContent-Disposition\u003c/code\u003e header emitted by \u003ccode\u003eres.download()\u003c/code\u003e, \u003ccode\u003eres.attachment()\u003c/code\u003e, and \u003ccode\u003eres.sendFile()\u003c/code\u003e: file names that are valid HTTP tokens are no longer wrapped in quotes. This is equivalent per RFC 6266, but applications asserting on the exact header bytes should update their expectations - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7233\"\u003e#7233\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.attachment('user.html');\n// before -\u0026gt; Content-Disposition: attachment; filename=\u0026quot;user.html\u0026quot;\n// after  -\u0026gt; Content-Disposition: attachment; filename=user.html\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/cf6722bf89a86905281d9160b6482e08166b5ef0\"\u003e\u003ccode\u003ecf6722b\u003c/code\u003e\u003c/a\u003e 5.3.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7468\"\u003e#7468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8c2fcfcb7d37c9c2e89363b7b86a092768c3a8a3\"\u003e\u003ccode\u003e8c2fcfc\u003c/code\u003e\u003c/a\u003e docs: fix typos and a stale API reference in lib comments (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7512\"\u003e#7512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/9efc29e280018dafc1f0617f3a3d28f4e463b7be\"\u003e\u003ccode\u003e9efc29e\u003c/code\u003e\u003c/a\u003e docs: fix pass-through typos (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7509\"\u003e#7509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2717ae3cbf2bdc3f946d22ea6a4e0b5bd438b87b\"\u003e\u003ccode\u003e2717ae3\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7499\"\u003e#7499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/de777714df3fb1e81ac2d95f509c421478ab1e56\"\u003e\u003ccode\u003ede77771\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump hbs from 4.3.0 to 4.3.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7500\"\u003e#7500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/9169cbe1127ed1f9bc4f80a70b82c412467dd156\"\u003e\u003ccode\u003e9169cbe\u003c/code\u003e\u003c/a\u003e docs: add missing apostrophe in example (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7483\"\u003e#7483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/7ef98448f8b38099ab1ded55e458538ad47a51e7\"\u003e\u003ccode\u003e7ef9844\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump morgan from 1.12.0 to 1.12.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7493\"\u003e#7493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/3b7e39fe74371ddabc77fed736dd22aa71c14f5c\"\u003e\u003ccode\u003e3b7e39f\u003c/code\u003e\u003c/a\u003e deps: bump qs minimum to 6.16.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7478\"\u003e#7478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/98bd4cd96b250d25e1672c36f49cfc743bc801e7\"\u003e\u003ccode\u003e98bd4cd\u003c/code\u003e\u003c/a\u003e deps: proxy-addr@^2.0.8 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7474\"\u003e#7474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/9a34acf03cb818ff3f8bc40e44176e277a25cbb9\"\u003e\u003ccode\u003e9a34acf\u003c/code\u003e\u003c/a\u003e fix(res.send): preserve ETag generation with Transfer-Encoding (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7459\"\u003e#7459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.1...v5.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for express since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `helmet` from 8.2.0 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md\"\u003ehelmet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0 - 2026-07-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: improved performance by ~7% when there are no dynamic directives\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: improved error handling for invalid directive names\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: \u003ccode\u003euseDefaults: false\u003c/code\u003e with no directives is no longer valid, both at runtime and the type level\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: dynamically-computed directive values would \u003ccode\u003ethrow\u003c/code\u003e, not call \u003ccode\u003enext\u003c/code\u003e, when invalid\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: dynamically-computed directive value entries would \u003ccode\u003ethrow\u003c/code\u003e, not call \u003ccode\u003enext\u003c/code\u003e, when function threw\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/75f1a98ec3cf092cc985985efcc0479265c9fe32\"\u003e\u003ccode\u003e75f1a98\u003c/code\u003e\u003c/a\u003e 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/f03f70da21409f525f90418a049ae7222261e9a2\"\u003e\u003ccode\u003ef03f70d\u003c/code\u003e\u003c/a\u003e Update changelog for 8.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/a307fce3b8714e7dfddba6a6979317dc8bc2e373\"\u003e\u003ccode\u003ea307fce\u003c/code\u003e\u003c/a\u003e Fix capitalization in CSP package changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/5347b43be7e340f3cd3407ba2d156a771cf9c371\"\u003e\u003ccode\u003e5347b43\u003c/code\u003e\u003c/a\u003e Format default CSP in README for readability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/9afc570f67615f48bf8634ea75ad5e0b204f856b\"\u003e\u003ccode\u003e9afc570\u003c/code\u003e\u003c/a\u003e CSP: fix middleware-specific README missing link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/266c95ca6541f0627e4622d0b6844c9e24108b85\"\u003e\u003ccode\u003e266c95c\u003c/code\u003e\u003c/a\u003e Minor speedups to project setups test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/7a4196c3d9f2efdaeada5e18243bd974262505ee\"\u003e\u003ccode\u003e7a4196c\u003c/code\u003e\u003c/a\u003e CSP: update package-specific changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/02716b4b7dc5099fe3c21bb1a89f954404632180\"\u003e\u003ccode\u003e02716b4\u003c/code\u003e\u003c/a\u003e CSP: improve performance when there are no dynamic directives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/3f511ed75fa12dd456e5338dc7a9b578b5aafac1\"\u003e\u003ccode\u003e3f511ed\u003c/code\u003e\u003c/a\u003e CSP: move utility functions to separate file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/80338af26325af6d47b0cfd5a4a43a5be52c3973\"\u003e\u003ccode\u003e80338af\u003c/code\u003e\u003c/a\u003e CSP: disabling defaults with no directives is now an error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/helmetjs/helmet/compare/v8.2.0...v8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.3.2 to 5.4.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[5.4.3] - 2026-10-06\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed loading a whitespace-only block scalar followed by a less indented\nline, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/802\"\u003e#802\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.4.2] - 2026-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eforceQuotes\u003c/code\u003e no longer quotes non-string scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/798\"\u003e#798\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.4.1] - 2026-08-26\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHard-limit merge sequence size to 100.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCount empty mappings in merge sequences toward \u003ccode\u003emaxTotalMergeKeys\u003c/code\u003e to limit\nCPU usage, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/797\"\u003e#797\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.4.0] - 2026-08-25\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003escalarStyleRules\u003c/code\u003e dumper option to customize string formatting.\nSee \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/docs/scalar_styling.md\"\u003eScalar styling\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[breaking] Flattened the low-level AST node style representation. Scalar\nand collection nodes now use \u003ccode\u003eSCALAR_STYLE\u003c/code\u003e and \u003ccode\u003eCOLLECTION_STYLE\u003c/code\u003e values;\nexplicit tags use the separate \u003ccode\u003etagged\u003c/code\u003e property. Alias nodes now contain\nonly \u003ccode\u003ekind\u003c/code\u003e and \u003ccode\u003eanchor\u003c/code\u003e. This only affects code that directly constructs or\nedits AST nodes.\u003c/li\u003e\n\u003cli\u003e[breaking] The \u003ccode\u003esortKeys\u003c/code\u003e option was rewritten using AST mutation to avoid\nside effects.\u003c/li\u003e\n\u003cli\u003eReworked scalar style selection. This can change formatting without changing\nloaded values; in particular, whitespace-only strings are now double-quoted.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept a byte order mark at the start of each document in a stream, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/791\"\u003e#791\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eProduce valid flow mappings with \u003ccode\u003equoteFlowKeys\u003c/code\u003e and \u003ccode\u003eflowSkipColonSpace\u003c/code\u003e,\nincluding alias and property-only keys, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/786\"\u003e#786\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePreserve empty scalar items when converting block sequences to flow style.\u003c/li\u003e\n\u003cli\u003eDo not apply the 1024-character simple-key limit to flow mapping keys.\u003c/li\u003e\n\u003cli\u003eCount Unicode code points, rather than UTF-16 code units, for the\n1024-character simple-key limit.\u003c/li\u003e\n\u003cli\u003eAdd an explicit document-end marker after keep-chomped block scalars when\nneeded to preserve trailing newlines.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/78326247fa2cec0d2c7ed553353d554e039ee7c8\"\u003e\u003ccode\u003e7832624\u003c/code\u003e\u003c/a\u003e 5.4.3 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/0cbb471d67b083778e7b2600af2418142bf5bf04\"\u003e\u003ccode\u003e0cbb471\u003c/code\u003e\u003c/a\u003e Fix whitespace-only block scalar followed by a less indented line, close \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/802\"\u003e#802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/30108cc828b5393d55dfbfc8087ab713f7145946\"\u003e\u003ccode\u003e30108cc\u003c/code\u003e\u003c/a\u003e Parse the first block mapping key once (\u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/800\"\u003e#800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/494400bd45cad078123cfc057e674a9a0a8d9983\"\u003e\u003ccode\u003e494400b\u003c/code\u003e\u003c/a\u003e 5.4.2 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/6d8adb41c1a8c4a45cb8597ffb149b8842b3a26b\"\u003e\u003ccode\u003e6d8adb4\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eforceQuotes\u003c/code\u003e quoting non-string scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/798\"\u003e#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/e5a3ba0efee53629b979f784cd53736f89ea61b6\"\u003e\u003ccode\u003ee5a3ba0\u003c/code\u003e\u003c/a\u003e 5.4.1 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/e54dea33166d429220f7754e8c7ec548e3574ac3\"\u003e\u003ccode\u003ee54dea3\u003c/code\u003e\u003c/a\u003e Hard-limit merge sequence size to 100\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/dfd3a2933c69959fc16fce1a775f36c9a5c89063\"\u003e\u003ccode\u003edfd3a29\u003c/code\u003e\u003c/a\u003e Cleanup 6a8e05f, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/797\"\u003e#797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/6a8e05f9a485188ed730ac81e81ae221352ef480\"\u003e\u003ccode\u003e6a8e05f\u003c/code\u003e\u003c/a\u003e fix: count empty merge sources against maxTotalMergeKeys (\u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/797\"\u003e#797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/6b4ff5e92474186b0c0381021ba4120f883c1995\"\u003e\u003ccode\u003e6b4ff5e\u003c/code\u003e\u003c/a\u003e 5.4.0 released\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nodeca/js-yaml/compare/4.3.2...5.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ora` from 8.2.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/ora/releases\"\u003eora's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.4.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix type definitions (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/257\"\u003e#257\u003c/a\u003e)  431ebc4\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efailText\u003c/code\u003e type to accept \u003ccode\u003eunknown\u003c/code\u003e instead of \u003ccode\u003eError\u003c/code\u003e, matching the actual promise rejection value  bc3a283\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.4.0...v9.4.1\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.4.0...v9.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003esuccessSymbol\u003c/code\u003e and \u003ccode\u003efailSymbol\u003c/code\u003e options to \u003ccode\u003eoraPromise\u003c/code\u003e  3d2e0a9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.3.0...v9.4.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.3.0...v9.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduce flicker in rendering  2ab4f76\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.2.0...v9.3.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.2.0...v9.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003estdin-discarder\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/251\"\u003e#251\u003c/a\u003e)  020eaba\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.1.0...v9.2.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.1.0...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport external writes to stream (\u003ccode\u003econsole.log\u003c/code\u003e) while spinning  d2b543a\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003estrip-ansi\u003c/code\u003e dependency with native \u003ccode\u003estripVTControlCharacters\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/249\"\u003e#249\u003c/a\u003e)  68d50e5\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.0.0...v9.1.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.0.0...v9.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Node.js 20  7aca06d\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix clearing in some cases  aa51538\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eframe()\u003c/code\u003e not displaying dynamic \u003ccode\u003eprefixText\u003c/code\u003e/\u003ccode\u003esuffixText\u003c/code\u003e from functions  0f19f57\u003c/li\u003e\n\u003cli\u003eFix multiline text exceeding console height leaving garbage when scrolling  45d30ad\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/79cd8c15ac34572cffb3ab53e3d4b6bab6d59ea8\"\u003e\u003ccode\u003e79cd8c1\u003c/code\u003e\u003c/a\u003e 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/bc3a28363a9873304ffb56420cb55fe83a7f41e8\"\u003e\u003ccode\u003ebc3a283\u003c/code\u003e\u003c/a\u003e Minor tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/431ebc40dceb1f700f3b60821f139541dbd7c93d\"\u003e\u003ccode\u003e431ebc4\u003c/code\u003e\u003c/a\u003e Fix type definitions (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/46a670390249718af7c66452afdc5d78ceb579e9\"\u003e\u003ccode\u003e46a6703\u003c/code\u003e\u003c/a\u003e 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/3d2e0a907e1141a121e5ed3348d9ea0981ca8a9c\"\u003e\u003ccode\u003e3d2e0a9\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003esuccessSymbol\u003c/code\u003e and \u003ccode\u003efailSymbol\u003c/code\u003e options to \u003ccode\u003eoraPromise\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/f70f613d72f0afb0f4cb0a7fe56268f8abd1a170\"\u003e\u003ccode\u003ef70f613\u003c/code\u003e\u003c/a\u003e Test tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/7cf29a75e64409205a6606dada9780ccf5acf6a8\"\u003e\u003ccode\u003e7cf29a7\u003c/code\u003e\u003c/a\u003e Validate some options better\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/4496362714e1edd414e5347e8d4b337f103f0e15\"\u003e\u003ccode\u003e4496362\u003c/code\u003e\u003c/a\u003e 9.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/2ab4f7613879515e29039888115831422f49e1af\"\u003e\u003ccode\u003e2ab4f76\u003c/code\u003e\u003c/a\u003e Reduce flicker in rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/8d17b13a8b3330af16cfa24c6e3b8a99f678c5c4\"\u003e\u003ccode\u003e8d17b13\u003c/code\u003e\u003c/a\u003e Add FAQ item\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/ora/compare/v8.2.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `standardwebhooks` from 1.0.0 to 1.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/releases\"\u003estandardwebhooks's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.0.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/compare/v1.0.1...v1.0.2\"\u003ehttps://github.com/standard-webhooks/standard-webhooks/compare/v1.0.1...v1.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for jdk 8 by \u003ca href=\"https://github.com/cameron-mcateer\"\u003e\u003ccode\u003e@​cameron-mcateer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/258\"\u003estandard-webhooks/standard-webhooks#258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd java 8 toolchain for release by \u003ca href=\"https://github.com/cameron-mcateer\"\u003e\u003ccode\u003e@​cameron-mcateer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/259\"\u003estandard-webhooks/standard-webhooks#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(js): handle empty payloads in verify() by \u003ca href=\"https://github.com/vadzim\"\u003e\u003ccode\u003e@​vadzim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/263\"\u003estandard-webhooks/standard-webhooks#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(libraries/python): Support unpadded secrets by \u003ca href=\"https://github.com/brettbeatty\"\u003e\u003ccode\u003e@​brettbeatty\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/265\"\u003estandard-webhooks/standard-webhooks#265\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/cameron-mcateer\"\u003e\u003ccode\u003e@​cameron-mcateer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/258\"\u003estandard-webhooks/standard-webhooks#258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vadzim\"\u003e\u003ccode\u003e@​vadzim\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/263\"\u003estandard-webhooks/standard-webhooks#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brettbeatty\"\u003e\u003ccode\u003e@​brettbeatty\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/265\"\u003estandard-webhooks/standard-webhooks#265\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/compare/v1.0.0...v1.0.1\"\u003ehttps://github.com/standard-webhooks/standard-webhooks/compare/v1.0.0...v1.0.1\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\u003eSee full diff in \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/commits\"\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 standardwebhooks since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 19.8.1 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.2.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.1...v21.2.2\"\u003e21.2.2\u003c/a\u003e (2026-08-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eparse:\u003c/strong\u003e require colon after note keywords (conventional-commits-parser 7.1.2) (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4927\"\u003e#4927\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/b83c51569d195183c695330eeb0b4f5784e0d418\"\u003eb83c515\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/conventional-changelog/issues/1517\"\u003econventional-changelog/conventional-changelog#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(container): resolve packages from TypeScript configs by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4914\"\u003econventional-changelog/commitlint#4914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(resolve-extends): support Yarn Plug'n'Play by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4933\"\u003econventional-changelog/commitlint#4933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, docs, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix typos in comments and JSDoc by \u003ca href=\"https://github.com/maxtaran2010\"\u003e\u003ccode\u003e@​maxtaran2010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4880\"\u003econventional-changelog/commitlint#4880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.1...v21.2.2\"\u003e21.2.2\u003c/a\u003e (2026-08-13)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.0...v21.2.1\"\u003e21.2.1\u003c/a\u003e (2026-07-08)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0\"\u003e21.2.0\u003c/a\u003e (2026-06-30)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eresolve-extends:\u003c/strong\u003e resolve pure-ESM presets (conventional-changelog v7/v9/v10) (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4859\"\u003e#4859\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/fdb566fe59457a786eac80e2a8cbb994638daba0\"\u003efdb566f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.2...v21.1.0\"\u003e21.1.0\u003c/a\u003e (2026-06-23)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add --default-config flag to lint without a config file (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4805\"\u003e#4805\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/7af27ba1bcfe2347d02df2efd6dca7203b6768c5\"\u003e7af27ba\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/3662\"\u003e#3662\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/d00d190ecc8030a0f65ead16a396c2391a23996b\"\u003e\u003ccode\u003ed00d190\u003c/code\u003e\u003c/a\u003e v21.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f2e8daec969290f59a1b67450378ae799079c953\"\u003e\u003ccode\u003ef2e8dae\u003c/code\u003e\u003c/a\u003e chore: update dependency typescript to v7 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4886\"\u003e#4886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/5769d9fe4f40563385007f3c04ca98156ae276b1\"\u003e\u003ccode\u003e5769d9f\u003c/code\u003e\u003c/a\u003e docs: fix typos in comments and JSDoc (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6e200411e63fb473d59cca1b4449a28f72067df0\"\u003e\u003ccode\u003e6e20041\u003c/code\u003e\u003c/a\u003e v21.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1b4e5bc0e095294ad421b3ac83f6b66665429e60\"\u003e\u003ccode\u003e1b4e5bc\u003c/code\u003e\u003c/a\u003e v21.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/fdb566fe59457a786eac80e2a8cbb994638daba0\"\u003e\u003ccode\u003efdb566f\u003c/code\u003e\u003c/a\u003e feat(resolve-extends): resolve pure-ESM presets (conventional-changelog v7/v9...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6f1c0af6a7631cee854587dafc6beb0ccf274b1e\"\u003e\u003ccode\u003e6f1c0af\u003c/code\u003e\u003c/a\u003e v21.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/7af27ba1bcfe2347d02df2efd6dca7203b6768c5\"\u003e\u003ccode\u003e7af27ba\u003c/code\u003e\u003c/a\u003e feat(cli): add --default-config flag to lint without a config file (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 19.8.1 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventi...\n\n_Description has been truncated_","html_url":"https://github.com/buildproven/qa-architect/pull/301","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildproven%2Fqa-architect/issues/301","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/301/packages"},{"uuid":"5787548685","node_id":"PR_kwDOTzIzl88AAAABHphOmw","number":14,"state":"open","title":"chore(deps-dev): bump the dev-toolchain group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-10T03:06:26.000Z","updated_at":"2026-10-17T22:38:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-toolchain","update_count":7,"packages":[{"name":"@types/node","old_version":"26.6.2","new_version":"26.6.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.70.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.70.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"prettier","old_version":"3.9.8","new_version":"3.9.10","repository_url":"https://github.com/prettier/prettier"},{"name":"tsc-alias","old_version":"1.9.5","new_version":"1.9.7","repository_url":"https://github.com/justkey007/tsc-alias"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-toolchain group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.2` | `26.6.5` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.70.0` | `8.71.2` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.70.0` | `8.71.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.8` | `3.9.10` |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.9.5` | `1.9.7` |\n\n\nUpdates `@types/node` from 26.6.2 to 26.6.5\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.70.0 to 8.71.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.2\u003c/h2\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match linked packages and packages with missing version in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throttle cleanup when opening files (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12934\"\u003e#12934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match re-exports and global declarations in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb\"\u003e\u003ccode\u003e7488d68\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d28bd0a7abc2b2fdab19220453d85188b66c73a2\"\u003e\u003ccode\u003ed28bd0a\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-optional-chain] safe fix when the chain ends with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f4c77f4b83727e5d86295ceb00a5c9732a37031d\"\u003e\u003ccode\u003ef4c77f4\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-parameters] parenthesize constraint ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8ba19195bf7967dfd7cfdbaf67f294075dcc0d96\"\u003e\u003ccode\u003e8ba1919\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/29d25fa43c152761ccd3e3a632e5fd9f45b1e5c2\"\u003e\u003ccode\u003e29d25fa\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-parameters] count instantiated mappe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/76786e8adbfe937fb49130d7930d21d5479389d6\"\u003e\u003ccode\u003e76786e8\u003c/code\u003e\u003c/a\u003e test(eslint-plugin): [max-params] update TSFunctionType report location for E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/706298716de5edb95ff58a1ba8806f88f87423e7\"\u003e\u003ccode\u003e7062987\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unused-vars] avoid false-positives when not using our...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d57b8da272375b6a45270639894a793933208a91\"\u003e\u003ccode\u003ed57b8da\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e8593b2be2fcf545c5379503e1ba0dd816fc6036\"\u003e\u003ccode\u003ee8593b2\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-parameters] count instantiated mappe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2211d3fb8e9f596fe753c19baa48b8c7e52dea42\"\u003e\u003ccode\u003e2211d3f\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-optional-chain] check the constrained type (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.2/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.70.0 to 8.71.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.2\u003c/h2\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match linked packages and packages with missing version in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throttle cleanup when opening files (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12934\"\u003e#12934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match re-exports and global declarations in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb\"\u003e\u003ccode\u003e7488d68\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d57b8da272375b6a45270639894a793933208a91\"\u003e\u003ccode\u003ed57b8da\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8695664c5ee3fbb8fd76907fc45e148579cc3162\"\u003e\u003ccode\u003e8695664\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.2/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.8 to 3.9.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Update \u003ccode\u003emicromark-extension-gfm-table\u003c/code\u003e to fix the table parse issue on performance (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20266\"\u003e#20266\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.10/CHANGELOG.md#3910\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.10\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.9...3.9.10\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Update \u003ccode\u003emicromark-extension-gfm-table\u003c/code\u003e to fix the table parse issue on performance (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20266\"\u003e#20266\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267\"\u003ehttps://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003e3.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1172b82c295c4f889fd787dc6c78c3e194ebf353\"\u003e\u003ccode\u003e1172b82\u003c/code\u003e\u003c/a\u003e Release 3.9.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d0142273aff2c76f8a69785d42ee2cedc4b0aaa3\"\u003e\u003ccode\u003ed014227\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emicromark-extension-gfm-table\u003c/code\u003e to fix the table parse issue on perfor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/953b9084329dcd06ed1072a04b333f1e6e9371e8\"\u003e\u003ccode\u003e953b908\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/ad8a6bf4fa23c42fd114683fec43b28a11bd24af\"\u003e\u003ccode\u003ead8a6bf\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20140\"\u003e#20140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f9be58fb8ec62dd47197ea19a30aac5ad26dfee0\"\u003e\u003ccode\u003ef9be58f\u003c/code\u003e\u003c/a\u003e Git blame ignore 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/88470cb79ca3b757dd6b93906d9a992aa1a456c3\"\u003e\u003ccode\u003e88470cb\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/9559cab39eb5082c99a27e8829760c055adba841\"\u003e\u003ccode\u003e9559cab\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4fc8ee87465de8d54780273a6996d74e8e9da827\"\u003e\u003ccode\u003e4fc8ee8\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsc-alias` from 1.9.5 to 1.9.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/justkey007/tsc-alias/releases\"\u003etsc-alias's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.7 (2026-09-30)\u003c/h2\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/issues/196\"\u003e#196\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/justkey007/tsc-alias/compare/v1.9.7...v1.9.7\"\u003ehttps://github.com/justkey007/tsc-alias/compare/v1.9.7...v1.9.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.6 (2026-09-30)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: correctly resolve aliases between declaration files when using build with emitDeclarationOnly by \u003ca href=\"https://github.com/justkey007\"\u003e\u003ccode\u003e@​justkey007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/pull/282\"\u003ejustkey007/tsc-alias#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/justkey007/tsc-alias/compare/v1.9.5...v1.9.6\"\u003ehttps://github.com/justkey007/tsc-alias/compare/v1.9.5...v1.9.6\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/justkey007/tsc-alias/commit/1c87891d8dfd57caa8bfee4ec85ae3ef0808b787\"\u003e\u003ccode\u003e1c87891\u003c/code\u003e\u003c/a\u003e 1.9.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/119fadc528d3723b73d077ad8599193793872f85\"\u003e\u003ccode\u003e119fadc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/issues/285\"\u003e#285\u003c/a\u003e from justkey007/issue196-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/1e754dc0de28a0818a89c67705c3cbf7f0b46da8\"\u003e\u003ccode\u003e1e754dc\u003c/code\u003e\u003c/a\u003e fix: correctly resolve aliases between declaration files when using build wit...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/6d32952d53acd320ace1141acc610434b2e5aab4\"\u003e\u003ccode\u003e6d32952\u003c/code\u003e\u003c/a\u003e 1.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/528be8849c637f44099eb74baccc91cb660378a4\"\u003e\u003ccode\u003e528be88\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/issues/282\"\u003e#282\u003c/a\u003e from justkey007/issue196\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/7d01d4f7b6f2e688de7541847b813c5c924e72dc\"\u003e\u003ccode\u003e7d01d4f\u003c/code\u003e\u003c/a\u003e fix: correctly resolve aliases between declaration files when using build wit...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/justkey007/tsc-alias/compare/v1.9.5...v1.9.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Axiumine/marketplace-dev-admin-authenticated-resource/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axiumine%2Fmarketplace-dev-admin-authenticated-resource/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"},{"uuid":"5783933573","node_id":"PR_kwDOSDbf4s8AAAABHmqvOg","number":339,"state":"open","title":"build(deps): bump eslint-plugin-n from 18.0.1 to 18.4.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-09T20:02:05.000Z","updated_at":"2026-10-09T20:07:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"eslint-plugin-n","old_version":"18.0.1","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.0.1 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.0.1...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.0.1\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdates `eslint-plugin-n` in the catalog from 18.0.1 to 18.4.1 and updates the lockfile.\n\n**Notable changes**\n- Adds the new rules `prefer-process-get-builtin-module` and `prefer-import/assert-strict`.\n- `no-extraneous` now supports pnpm workspaces.\n- Fixes in `prefer-promises/fs`, `file-extension-in-import`, and `no-path-concat`.\n- Performance improvements from lazy import resolution and per-directory tsconfig caching.\n\n\u003csup\u003eWritten for commit 41dd42c4ac848a4b5fcda47614062f52e753b8b0. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/arkorlab/arkor/pull/339?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"View guided diff\" src=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://www.cubic.dev/action/auto-fix/pr/arkorlab/arkor/339?returnTo=https%3A%2F%2Fgithub.com%2Farkorlab%2Farkor%2Fpull%2F339\u0026source=description\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg\"\u003e\u003cimg alt=\"Turn on auto-fix\" src=\"https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/arkorlab/arkor/pull/339","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkorlab%2Farkor/issues/339","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/339/packages"},{"uuid":"5732729220","node_id":"PR_kwDONWHzf88AAAABG9x7Lw","number":1310,"state":"open","title":"build(deps): bump eslint-plugin-n from 18.3.0 to 18.4.1","user":"dependabot[bot]","labels":["dependencies","javascript","size/XS"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T17:32:39.000Z","updated_at":"2026-10-06T17:33:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.3.0 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.3.0\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Solvro/lib-web-solvro-config/pull/1310","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Flib-web-solvro-config/issues/1310","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1310/packages"},{"uuid":"5725156367","node_id":"PR_kwDOToNlBc8AAAABG3qYtg","number":299,"state":"open","title":"Bump eslint-plugin-n from 18.2.2 to 18.4.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T08:09:55.000Z","updated_at":"2026-10-06T08:15:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.2.2 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.2.2\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Irisowi/rsshub/pull/299","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Irisowi%2Frsshub/issues/299","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/299/packages"},{"uuid":"5725142062","node_id":"PR_kwDOTmKQSs8AAAABG3pqNw","number":305,"state":"open","title":"Bump eslint-plugin-n from 18.2.2 to 18.4.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T08:08:44.000Z","updated_at":"2026-10-06T08:11:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.2.2 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.2.2\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/GJZeng/rsshub/pull/305","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GJZeng%2Frsshub/issues/305","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/305/packages"},{"uuid":"5725097746","node_id":"PR_kwDOD0lHns8AAAABG3nZzw","number":1427,"state":"open","title":"chore(deps-dev): bump eslint-plugin-n from 17.21.3 to 18.4.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T08:04:59.000Z","updated_at":"2026-10-06T08:05:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"eslint-plugin-n","old_version":"17.21.3","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.21.3 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.21.3...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-plugin-n since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=17.21.3\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mengx8/RSSHub/pull/1427","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengx8%2FRSSHub/issues/1427","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1427/packages"},{"uuid":"5724861528","node_id":"PR_kwDOQk5FCc8AAAABG3bVIQ","number":160,"state":"open","title":"chore(deps): bump the dev-dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T07:44:29.000Z","updated_at":"2026-10-06T07:44:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dev-dependencies","update_count":9,"packages":[{"name":"@commitlint/cli","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"eslint","old_version":"10.9.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"fast-xml-parser","old_version":"5.11.0","new_version":"5.11.2","repository_url":"https://github.com/NaturalIntelligence/fast-xml-parser"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lefthook","old_version":"2.1.10","new_version":"2.1.16","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"markdownlint-cli2","old_version":"0.23.2","new_version":"0.23.3","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.2` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.2` | `21.2.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.11.0` | `5.11.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.10` | `2.1.16` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.23.2` | `0.23.3` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n\n\nUpdates `@commitlint/cli` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erules:\u003c/strong\u003e report the case that matched in case rule failure messages (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4962\"\u003e#4962\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e9f5f7bc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e\u003ccode\u003e9f5f7bc\u003c/code\u003e\u003c/a\u003e fix(rules): report the case that matched in case rule failure messages (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4962\"\u003e#4962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.9.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-xml-parser` from 5.11.0 to 5.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/releases\"\u003efast-xml-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: decode Uint8Array XML input as UTF-8 by \u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type EntityDecoderOptions.setXmlVersion's version as a number by \u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 7.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/858\"\u003eNaturalIntelligence/fast-xml-parser#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump zizmorcore/zizmor-action from 0.5.7 to 0.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/856\"\u003eNaturalIntelligence/fast-xml-parser#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 6.4.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/854\"\u003eNaturalIntelligence/fast-xml-parser#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix two 404 documentation links by \u003ca href=\"https://github.com/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md\"\u003efast-xml-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003eNote: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003eNote: Due to some last quick changes on v4, detail of v4.5.3 \u0026amp; v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.2 / 2026-09-29\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e): decode Uint8Array XML input as UTF-8 (By emme1t)\u003c/li\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e) :type EntityDecoderOptions.setXmlVersion's version as a number (By Yevhenii Kotyrlo)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.1 / 2026-08-27\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: validator; Replace regex with a single-pass scanner for attribute tokens, eliminating quadratic behavior on long whitespace runs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.0 / 2026-08-16\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support for endIndex in node metadata (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/850\"\u003e#850\u003c/a\u003e) [By \u003ca href=\"https://github.com/Wain-PC\"\u003ePavel Dranichnikov\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: don't crash on a closing tag with no matching opening tag (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/861\"\u003e#861\u003c/a\u003e) [By \u003ca href=\"https://github.com/hdimer\"\u003eHaïm Dimer\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: DOCTYPE to read SYSTEM/PUBLIC\u003c/li\u003e\n\u003cli\u003edeps: strnum v2.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.1 / 2026-07-17\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: multiple DOCTYPE declarations.\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003e@nodable/entities\u003c/code\u003e for treeshaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.0 / 2026-07-11\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade:\n\u003cul\u003e\n\u003cli\u003exml-naming v0.3.0: cache support\u003c/li\u003e\n\u003cli\u003ePEM v1.6.2: sibling bug fix\u003c/li\u003e\n\u003cli\u003eis-unsafe v2.0.0: tree shaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.3 / 2026-06-19\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.2 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test changes in github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.1 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test release from github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.0 / 2026-06-15\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eyou can set hex, binary, enotation, infinity, unicode\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003evalidate unsafe HTML or XML data in doctype entities unsing 'is-unsafe' library.\nUser can override rules by overriding EntityDecoder.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.8.0 / 2026-05-12\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintegrate xml-naming to validate DOCTYPE entity name and notation name (using qname becaue of backward compatibility)\n\u003cul\u003e\n\u003cli\u003eThis will consider xml-version as well. '1.0' is default\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eYou can set octal and binary parsing which is bydeault off\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate fast-xml-builder to 1.2.0\n\u003cul\u003e\n\u003cli\u003ecan sanitize tag names if found invalid\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/80e88a848b073fd630bc181291a24922c6d1e839\"\u003e\u003ccode\u003e80e88a8\u003c/code\u003e\u003c/a\u003e 5.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/0718e417385d109bc63f509ef0821b0328c4e2d8\"\u003e\u003ccode\u003e0718e41\u003c/code\u003e\u003c/a\u003e changelog, browser bundles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/1a6646b8949ca54f2e2ea205a5923a9980d8fa1d\"\u003e\u003ccode\u003e1a6646b\u003c/code\u003e\u003c/a\u003e deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/d39644185031299e2f5a84241dcce9bcd3238095\"\u003e\u003ccode\u003ed396441\u003c/code\u003e\u003c/a\u003e audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/513d0b3cac51a52d62d79cdf01440aa3bbc21553\"\u003e\u003ccode\u003e513d0b3\u003c/code\u003e\u003c/a\u003e fix: type EntityDecoderOptions.setXmlVersion's version as a number (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/bb2ec6ce4bfc3f62d621df6e6bf2b3152965175a\"\u003e\u003ccode\u003ebb2ec6c\u003c/code\u003e\u003c/a\u003e fix: decode Uint8Array XML input as UTF-8 (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/3617550adfb280989f482d662b7e9ece55a32a34\"\u003e\u003ccode\u003e3617550\u003c/code\u003e\u003c/a\u003e 5.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6021128c3251d4c1456d2c6cd8442a5005a1f39a\"\u003e\u003ccode\u003e6021128\u003c/code\u003e\u003c/a\u003e update for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6ddcb65f240005988457af6af6dd68fa0947acf5\"\u003e\u003ccode\u003e6ddcb65\u003c/code\u003e\u003c/a\u003e remove regex from validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/7d608151078d47040841e9804d490feb5c07dfe7\"\u003e\u003ccode\u003e7d60815\u003c/code\u003e\u003c/a\u003e docs: fix two 404 documentation links (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/862\"\u003e#862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lefthook` from 2.1.10 to 2.1.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.16\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e3ee04318fd06d56a70cc9c90dc8385b19918f520 ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e91407e537b2fa36539506963a33e582dca394798 deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebe6f0ae8793533449cb9a07a253fa9a381e82206 fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecf4ef1e19baf0581871f69b40914d64c94ff19d7 fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.15\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2388dde2b31dc9a782e967764046b41b404cece9 feat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e49260b57c2a56bc4d65d09395458bb3ce3c63311 fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38bc1c6cef3192a36002d0dcc37973416249c07e fix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e0892f5f256ebe162485492af5ca14c2ced45586f fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2 fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e07ce565bcc73465bc18fb36561b935ee2a53eab6 fix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec465ca8ef4fc9ee0695aa4a9530fc404ed838b7a test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.14\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003ev2.1.12\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eb8350fde604197b2422adfc4ae0af080725822b9 ci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9fb290d786a0e122fe113b1b49a45bbd0ffa7d28 fix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1506\"\u003e#1506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2f0a9f37cef73e10d95043ba3754329a21850d57 fix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.11\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ee5b10ac3a2645784ee2e4260620c49c31b44992a deps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed4a259f460b7c1d8c512dd75eedc7068310ee961 fix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1498\"\u003e#1498\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: test staging fixed files with partially staged by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1483\"\u003e#1483\u003c/a\u003e) by \u003ca href=\"https://github.com/Sakshamm-Goyal\"\u003e\u003ccode\u003e@​Sakshamm-Goyal\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1560\"\u003e#1560\u003c/a\u003e) by \u003ca href=\"https://github.com/devindavies\"\u003e\u003ccode\u003e@​devindavies\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1559\"\u003e#1559\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1523\"\u003e#1523\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1558\"\u003e#1558\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1485\"\u003e#1485\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1527\"\u003e#1527\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1486\"\u003e#1486\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1509\"\u003e#1509\u003c/a\u003e) by \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1547\"\u003e#1547\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.13/2.1.14 (2026-09-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: error when --job/--command matches nothing (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1512\"\u003e#1512\u003c/a\u003e) by \u003ca href=\"https://github.com/nityanand123gupta\"\u003e\u003ccode\u003e@​nityanand123gupta\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disable tty things when stdout is not TTY (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1545\"\u003e#1545\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document files inheritance for grouped jobs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1536\"\u003e#1536\u003c/a\u003e) by \u003ca href=\"https://github.com/chiliec\"\u003e\u003ccode\u003e@​chiliec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force colors when colors are explicitly enabled (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1538\"\u003e#1538\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve file_types paths from the repo root (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1537\"\u003e#1537\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: don't force-install hooks from the npm postinstall (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1510\"\u003e#1510\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: quote template run examples (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1472\"\u003e#1472\u003c/a\u003e) by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.12 (2026-08-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1484\"\u003e#1484\u003c/a\u003e) by \u003ca href=\"https://github.com/teddytennant\"\u003e\u003ccode\u003e@​teddytennant\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1506\"\u003e#1506\u003c/a\u003e) by \u003ca href=\"https://github.com/Yuki9814\"\u003e\u003ccode\u003e@​Yuki9814\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1508\"\u003e#1508\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.11 (2026-08-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1498\"\u003e#1498\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: correct Lefthook commit message configuration (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1499\"\u003e#1499\u003c/a\u003e) by \u003ca href=\"https://github.com/codersjj\"\u003e\u003ccode\u003e@​codersjj\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: hide contributors regenerate tip from the site (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1500\"\u003e#1500\u003c/a\u003e) by \u003ca href=\"https://github.com/MikevPeeren\"\u003e\u003ccode\u003e@​MikevPeeren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify signed-off commit example (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1492\"\u003e#1492\u003c/a\u003e) by \u003ca href=\"https://github.com/nightcityblade\"\u003e\u003ccode\u003e@​nightcityblade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1495\"\u003e#1495\u003c/a\u003e) by \u003ca href=\"https://github.com/quaacxlok\"\u003e\u003ccode\u003e@​quaacxlok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix em notice by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update docmd (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1481\"\u003e#1481\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix EM mention HTML by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify remote script folders (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1477\"\u003e#1477\u003c/a\u003e) by \u003ca href=\"https://github.com/scop\"\u003e\u003ccode\u003e@​scop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document script args (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1479\"\u003e#1479\u003c/a\u003e) by \u003ca href=\"https://github.com/lntutor\"\u003e\u003ccode\u003e@​lntutor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update em logo by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/433e6b9067d5d138bf63b47403e0df8895a40e33\"\u003e\u003ccode\u003e433e6b9\u003c/code\u003e\u003c/a\u003e 2.1.16: preserve unrelated unstaged changes on conflicts after autofixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ef1e19baf0581871f69b40914d64c94ff19d7\"\u003e\u003ccode\u003ecf4ef1e\u003c/code\u003e\u003c/a\u003e fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/be6f0ae8793533449cb9a07a253fa9a381e82206\"\u003e\u003ccode\u003ebe6f0ae\u003c/code\u003e\u003c/a\u003e fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/91407e537b2fa36539506963a33e582dca394798\"\u003e\u003ccode\u003e91407e5\u003c/code\u003e\u003c/a\u003e deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmar...\n\n_Description has been truncated_","html_url":"https://github.com/jonathan-vella/apex-accelerator/pull/160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathan-vella%2Fapex-accelerator/issues/160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/160/packages"},{"uuid":"5719284064","node_id":"PR_kwDOUKHE8s8AAAABGy-8_Q","number":28,"state":"closed","title":"Bump the eslint group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["PR: waiting for review","PR: dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-14T05:47:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T21:40:01.000Z","updated_at":"2026-10-14T05:47:48.000Z","time_to_close":720463,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"eslint","update_count":6,"packages":[{"name":"eslint","old_version":"10.9.1","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-jsdoc","old_version":"64.2.1","new_version":"65.0.2","repository_url":"https://github.com/gajus/eslint-plugin-jsdoc"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-unicorn","old_version":"73.0.0","new_version":"76.0.0","repository_url":"https://github.com/sindresorhus/eslint-plugin-unicorn"},{"name":"eslint-plugin-vue","old_version":"10.10.0","new_version":"10.11.1","repository_url":"https://github.com/vuejs/eslint-plugin-vue"},{"name":"globals","old_version":"17.11.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"}],"path":null,"ecosystem":"npm"},"body":"Bumps the eslint group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.12.0` |\n| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `64.2.1` | `65.0.2` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.0` |\n| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) | `73.0.0` | `76.0.0` |\n| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.10.0` | `10.11.1` |\n| [globals](https://github.com/sindresorhus/globals) | `17.11.0` | `17.13.0` |\n\n\nUpdates `eslint` from 10.9.1 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.1...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-jsdoc` from 64.2.1 to 65.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/releases\"\u003eeslint-plugin-jsdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev65.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v65.0.1...v65.0.2\"\u003e65.0.2\u003c/a\u003e (2026-10-02)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-indentation\u003c/code\u003e:\u003c/strong\u003e report opening-line indentation on that line (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1785\"\u003e#1785\u003c/a\u003e) (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/d2dfede3577a0c58f0aab961de07caa3c0992855\"\u003ed2dfede\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev65.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v65.0.0...v65.0.1\"\u003e65.0.1\u003c/a\u003e (2026-09-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erequire-tags\u003c/code\u003e:\u003c/strong\u003e disallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1782\"\u003e#1782\u003c/a\u003e) (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/cf577f770cb20c54647f53d28db50088c1aae934\"\u003ecf577f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev65.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.4...v65.0.0\"\u003e65.0.0\u003c/a\u003e (2026-09-28)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-indentation\u003c/code\u003e:\u003c/strong\u003e forbid missing space between asterisk prefix and content; fixes \u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1779\"\u003e#1779\u003c/a\u003e (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/d65631bf403b68c6c4fd45b5909f1806cb9d25a3\"\u003ed65631b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-line-alignment\u003c/code\u003e:\u003c/strong\u003e allow \u003ccode\u003e-any\u003c/code\u003e within \u003ccode\u003etags\u003c/code\u003e array to apply alignment (or lack thereof) to all tags (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/34edd048ac9914eb0d6888b4b022d4902111bc0d\"\u003e34edd04\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-indentation\u003c/code\u003e:\u003c/strong\u003e To restore old behavior, use \u003ccode\u003eallowNoSpaceAfterAsterisk: true\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev64.5.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.3...v64.5.4\"\u003e64.5.4\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unnecessary-type-assertion\u003c/code\u003e:\u003c/strong\u003e only try typescript if the rule is enabled; fixes \u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1773\"\u003e#1773\u003c/a\u003e (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/3c1c209bed53470ec5fcac8e2fa7693ff254bc91\"\u003e3c1c209\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev64.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.2...v64.5.3\"\u003e64.5.3\u003c/a\u003e (2026-09-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efor \u003ca href=\"https://github.com/link\"\u003e\u003ccode\u003e@​link\u003c/code\u003e\u003c/a\u003e targets, check properties within export class declarations; fixes \u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1771\"\u003e#1771\u003c/a\u003e (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/2d85fedb689f5045f284b37ca4d01ed688c2a920\"\u003e2d85fed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev64.5.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.1...v64.5.2\"\u003e64.5.2\u003c/a\u003e (2026-09-16)\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/gajus/eslint-plugin-jsdoc/commit/d2dfede3577a0c58f0aab961de07caa3c0992855\"\u003e\u003ccode\u003ed2dfede\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003echeck-indentation\u003c/code\u003e): report opening-line indentation on that line (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/33203d2f5792e16e4dfa875004fb88da59f4ab1e\"\u003e\u003ccode\u003e33203d2\u003c/code\u003e\u003c/a\u003e chore(deps): bump serialize-javascript from 7.1.1 to 7.1.2 (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1784\"\u003e#1784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/2f2c252812ce50e23bd977276d3ad2e9e9197c34\"\u003e\u003ccode\u003e2f2c252\u003c/code\u003e\u003c/a\u003e chore(deps): bump moment from 2.30.1 to 2.31.0 (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1783\"\u003e#1783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/cf577f770cb20c54647f53d28db50088c1aae934\"\u003e\u003ccode\u003ecf577f7\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003erequire-tags\u003c/code\u003e): disallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1782\"\u003e#1782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/34edd048ac9914eb0d6888b4b022d4902111bc0d\"\u003e\u003ccode\u003e34edd04\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003echeck-line-alignment\u003c/code\u003e): allow \u003ccode\u003e-any\u003c/code\u003e within \u003ccode\u003etags\u003c/code\u003e array to apply align...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/d65631bf403b68c6c4fd45b5909f1806cb9d25a3\"\u003e\u003ccode\u003ed65631b\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003echeck-indentation\u003c/code\u003e): forbid missing space between asterisk prefix and c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/bcbf6ad2c8c1ba728ac303539a1f454be3c02b5a\"\u003e\u003ccode\u003ebcbf6ad\u003c/code\u003e\u003c/a\u003e docs: add rules to sample listing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/ee242275100b5a8dede6d5123d2fd97146a7aae6\"\u003e\u003ccode\u003eee24227\u003c/code\u003e\u003c/a\u003e chore: update typescript-eslint/utils, devDeps; format README json5 block\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/3c1c209bed53470ec5fcac8e2fa7693ff254bc91\"\u003e\u003ccode\u003e3c1c209\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003eno-unnecessary-type-assertion\u003c/code\u003e): only try typescript if the rule is enab...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/a1428759eed6f2d0ba97d6d08bf3d39214c355a0\"\u003e\u003ccode\u003ea142875\u003c/code\u003e\u003c/a\u003e chore: update jsdoccomment, typescript-eslint/utils, comment-parser, devDeps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.2.1...v65.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-unicorn` from 73.0.0 to 76.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/releases\"\u003eeslint-plugin-unicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev76.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eno-immediate-mutation\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-immediate-mutation.md#checkconditionals\"\u003e\u003ccode\u003echeckConditionals\u003c/code\u003e\u003c/a\u003e option and default it to off (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3707\"\u003e#3707\u003c/a\u003e)  4686e7ef\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eno-break-in-nested-loop\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-break-in-nested-loop.md#checkcontinue\"\u003e\u003ccode\u003echeckContinue\u003c/code\u003e\u003c/a\u003e option and default it to off (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3712\"\u003e#3712\u003c/a\u003e)  d8fbfde8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-combined-guards\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-combined-guards.md#checkcompoundconditions\"\u003e\u003ccode\u003echeckCompoundConditions\u003c/code\u003e\u003c/a\u003e option default it to off (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3710\"\u003e#3710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprefer-minimal-ternary\u003c/code\u003e: Add autofix (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3716\"\u003e#3716\u003c/a\u003e)  aaa75a46\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-logical-operator-over-ternary\u003c/code\u003e: Handle boolean expressions (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-ternary\u003c/code\u003e: Preserve readable branches (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3709\"\u003e#3709\u003c/a\u003e)  f7a35aea\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eno-typeof-undefined\u003c/code\u003e: Ignore TypeScript ambient variables (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3708\"\u003e#3708\u003c/a\u003e)  9245ed87\u003c/li\u003e\n\u003cli\u003eFix autofixes that hardcoded a tab for inserted indentation (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3721\"\u003e#3721\u003c/a\u003e)  db20ce1c\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v75.0.0...v76.0.0\"\u003ehttps://github.com/sindresorhus/eslint-plugin-unicorn/compare/v75.0.0...v76.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev75.0.0\u003c/h2\u003e\n\u003ch2\u003eNew rules\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-combined-guards.md\"\u003e\u003ccode\u003eprefer-combined-guards\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3680\"\u003e#3680\u003c/a\u003e)  5d9d745c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-iterator-helper.md\"\u003e\u003ccode\u003eno-unused-iterator-helper\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3677\"\u003e#3677\u003c/a\u003e)  82137379\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-builtin-method-return.md\"\u003e\u003ccode\u003eno-unused-builtin-method-return\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3676\"\u003e#3676\u003c/a\u003e)  b3d56a35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-zip.md\"\u003e\u003ccode\u003eprefer-iterator-zip\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3675\"\u003e#3675\u003c/a\u003e)  60d3b53a\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-set-construction.md\"\u003e\u003ccode\u003eno-useless-set-construction\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3672\"\u003e#3672\u003c/a\u003e)  639c9844\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-helpers.md\"\u003e\u003ccode\u003eprefer-iterator-helpers\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3670\"\u003e#3670\u003c/a\u003e)  4c805e26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-json-import.md\"\u003e\u003ccode\u003eprefer-json-import\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3668\"\u003e#3668\u003c/a\u003e)  1df640dd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-temporal-conversion.md\"\u003e\u003ccode\u003eprefer-temporal-conversion\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3667\"\u003e#3667\u003c/a\u003e)  74bc02e7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-async-iterator-callback.md\"\u003e\u003ccode\u003eno-async-iterator-callback\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3666\"\u003e#3666\u003c/a\u003e)  bb6c2450\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-using-resource-escape.md\"\u003e\u003ccode\u003eno-using-resource-escape\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3663\"\u003e#3663\u003c/a\u003e)  34247853\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-uint8array-hex.md\"\u003e\u003ccode\u003eprefer-uint8array-hex\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3661\"\u003e#3661\u003c/a\u003e)  92551329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-deprecated-css-features.md\"\u003e\u003ccode\u003eno-deprecated-css-features\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3651\"\u003e#3651\u003c/a\u003e)  e1161021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unscoped-css-nesting-selector.md\"\u003e\u003ccode\u003eno-unscoped-css-nesting-selector\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3650\"\u003e#3650\u003c/a\u003e)  ebd03bdf\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-duplicate-css-selectors.md\"\u003e\u003ccode\u003eno-duplicate-css-selectors\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3646\"\u003e#3646\u003c/a\u003e)  508d9f50\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unknown-pseudo-selectors.md\"\u003e\u003ccode\u003eno-unknown-pseudo-selectors\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3644\"\u003e#3644\u003c/a\u003e)  99492cd7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-media-features.md\"\u003e\u003ccode\u003eno-invalid-media-features\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3643\"\u003e#3643\u003c/a\u003e)  ef37c1f1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unknown-css-annotations.md\"\u003e\u003ccode\u003eno-unknown-css-annotations\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3642\"\u003e#3642\u003c/a\u003e)  19637ee8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-nesting-with-mixed-specificity.md\"\u003e\u003ccode\u003eno-nesting-with-mixed-specificity\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3640\"\u003e#3640\u003c/a\u003e)  b2f2bf9d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-media-feature-range-syntax.md\"\u003e\u003ccode\u003eprefer-media-feature-range-syntax\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3639\"\u003e#3639\u003c/a\u003e)  19f112f6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-duplicate-font-family-names.md\"\u003e\u003ccode\u003eno-duplicate-font-family-names\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3638\"\u003e#3638\u003c/a\u003e)  c8f81bc8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-redundant-nested-style-rules.md\"\u003e\u003ccode\u003eno-redundant-nested-style-rules\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3637\"\u003e#3637\u003c/a\u003e)  31603ad6\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML support (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3687\"\u003e#3687\u003c/a\u003e)  f61393aa\u003c/li\u003e\n\u003cli\u003eImprove performance  3cfa32ce\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-continue\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-continue.md#checkshortbodies\"\u003e\u003ccode\u003echeckShortBodies\u003c/code\u003e\u003c/a\u003e option (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3699\"\u003e#3699\u003c/a\u003e)  274d5815\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efilename-case\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/filename-case.md#directoryroots\"\u003e\u003ccode\u003edirectoryRoots\u003c/code\u003e\u003c/a\u003e option (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3647\"\u003e#3647\u003c/a\u003e)  d2d6cc3e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/f70155ebe24dbb35b9814c3dbb3ab3620e09c3e1\"\u003e\u003ccode\u003ef70155e\u003c/code\u003e\u003c/a\u003e 76.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/db20ce1c16621e7c2303780d992f1981d3271a85\"\u003e\u003ccode\u003edb20ce1\u003c/code\u003e\u003c/a\u003e Fix autofixes that hardcoded a tab for inserted indentation (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3721\"\u003e#3721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/aaa75a46c836dc773afe6b0f3ba357591d9f4f75\"\u003e\u003ccode\u003eaaa75a4\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-minimal-ternary\u003c/code\u003e: Add autofix (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/577746ba66eded45aad54c3fa413a8f7a4ef2593\"\u003e\u003ccode\u003e577746b\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-logical-operator-over-ternary\u003c/code\u003e: Handle boolean expressions (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/d8fbfde840cdd834fd371e65e340488527f9d00f\"\u003e\u003ccode\u003ed8fbfde\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eno-break-in-nested-loop\u003c/code\u003e: Add \u003ccode\u003echeckContinue\u003c/code\u003e option and default it to off (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/a0fdbeff0d2fd8b4dd843c452d0b4929633792ec\"\u003e\u003ccode\u003ea0fdbef\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-combined-guards\u003c/code\u003e: Add \u003ccode\u003echeckCompoundConditions\u003c/code\u003e option and make it of...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/f7a35aeae3f723a774308400a0fd916966cfc79d\"\u003e\u003ccode\u003ef7a35ae\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-ternary\u003c/code\u003e: Preserve readable branches (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3709\"\u003e#3709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/9245ed87b2511487fecb5811e16377d42d65846b\"\u003e\u003ccode\u003e9245ed8\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eno-typeof-undefined\u003c/code\u003e: Ignore TypeScript ambient variables (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3708\"\u003e#3708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/4686e7eff616554b81a9f87c3894181fcd176d0e\"\u003e\u003ccode\u003e4686e7e\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eno-immediate-mutation\u003c/code\u003e: Add \u003ccode\u003echeckConditionals\u003c/code\u003e option and default it to off...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/80939f9de76d4544bae132800f26bc7f248bee27\"\u003e\u003ccode\u003e80939f9\u003c/code\u003e\u003c/a\u003e 75.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v73.0.0...v76.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-vue` from 10.10.0 to 10.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/releases\"\u003eeslint-plugin-vue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.11.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html\"\u003e\u003ccode\u003evue/no-ref-object-reactivity-loss\u003c/code\u003e\u003c/a\u003e false negatives for values gotten in an immediately invoked function expression (IIFE) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3115\"\u003e#3115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-unused-properties.html\"\u003e\u003ccode\u003evue/no-unused-properties\u003c/code\u003e\u003c/a\u003e false positive for props explicitly typed as \u003ccode\u003enever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3113\"\u003e#3113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e to no longer require a default value for \u003ccode\u003edefineModel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3138\"\u003e#3138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edefineModel\u003c/code\u003e support to \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://eslint.vuejs.org/rules/require-valid-default-prop.html\"\u003e\u003ccode\u003evue/require-valid-default-prop\u003c/code\u003e\u003c/a\u003e rules (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3032\"\u003e#3032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for SFCs using \u003ccode\u003e@nuxtjs/composition-api\u003c/code\u003e, which is now treated the same as \u003ccode\u003evue\u003c/code\u003e or \u003ccode\u003e@vue/composition-api\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new \u003ca href=\"https://eslint.vuejs.org/rules/no-shadow-native-events.html\"\u003e\u003ccode\u003evue/no-shadow-native-events\u003c/code\u003e\u003c/a\u003e rule (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/use-v-on-exact.html\"\u003e\u003ccode\u003evue/use-v-on-exact\u003c/code\u003e\u003c/a\u003e to avoid reporting \u003ccode\u003e@keydown.stop\u003c/code\u003e when paired with an exact key-specific listener (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpecified explicit \u003ccode\u003eitems\u003c/code\u003e policies for array rule option schemas (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3112\"\u003e#3112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated resources (HTML elements) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3132\"\u003e#3132\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3133\"\u003e#3133\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/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md\"\u003eeslint-plugin-vue's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.11.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html\"\u003e\u003ccode\u003evue/no-ref-object-reactivity-loss\u003c/code\u003e\u003c/a\u003e false negatives for values gotten in an immediately invoked function expression (IIFE) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3115\"\u003e#3115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-unused-properties.html\"\u003e\u003ccode\u003evue/no-unused-properties\u003c/code\u003e\u003c/a\u003e false positive for props explicitly typed as \u003ccode\u003enever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3113\"\u003e#3113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e to no longer require a default value for \u003ccode\u003edefineModel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3138\"\u003e#3138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.11.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edefineModel\u003c/code\u003e support to \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://eslint.vuejs.org/rules/require-valid-default-prop.html\"\u003e\u003ccode\u003evue/require-valid-default-prop\u003c/code\u003e\u003c/a\u003e rules (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3032\"\u003e#3032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for SFCs using \u003ccode\u003e@nuxtjs/composition-api\u003c/code\u003e, which is now treated the same as \u003ccode\u003evue\u003c/code\u003e or \u003ccode\u003e@vue/composition-api\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new \u003ca href=\"https://eslint.vuejs.org/rules/no-shadow-native-events.html\"\u003e\u003ccode\u003evue/no-shadow-native-events\u003c/code\u003e\u003c/a\u003e rule (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/use-v-on-exact.html\"\u003e\u003ccode\u003evue/use-v-on-exact\u003c/code\u003e\u003c/a\u003e to avoid reporting \u003ccode\u003e@keydown.stop\u003c/code\u003e when paired with an exact key-specific listener (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpecified explicit \u003ccode\u003eitems\u003c/code\u003e policies for array rule option schemas (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3112\"\u003e#3112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated resources (HTML elements) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3132\"\u003e#3132\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3133\"\u003e#3133\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/vuejs/eslint-plugin-vue/commit/ec9c53a6fbed637d7b0fbcd6893b0206ae32839f\"\u003e\u003ccode\u003eec9c53a\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/50ffb7f714cdebff93bc436e6eaf572c2aae07e7\"\u003e\u003ccode\u003e50ffb7f\u003c/code\u003e\u003c/a\u003e docs: explain how to apply the configs to a subset of files (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3122\"\u003e#3122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/ad239b4d97e9b46da535aea2f7df3e0fb57b98a9\"\u003e\u003ccode\u003ead239b4\u003c/code\u003e\u003c/a\u003e fix(no-unused-properties): ignore props typed as \u003ccode\u003enever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3113\"\u003e#3113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/24cb5bc62d4cb48de82d5250a856923ab89cd3bd\"\u003e\u003ccode\u003e24cb5bc\u003c/code\u003e\u003c/a\u003e fix(no-ref-object-reactivity-loss): improve IIFE handling (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3115\"\u003e#3115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/ef6f53e2c999bd688a4b0e1bdc4432ff6d380a41\"\u003e\u003ccode\u003eef6f53e\u003c/code\u003e\u003c/a\u003e fix(require-default-prop): don't report on \u003ccode\u003edefineModel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3138\"\u003e#3138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/121030cfdd66e726414d548a8deebaa07ade38ac\"\u003e\u003ccode\u003e121030c\u003c/code\u003e\u003c/a\u003e Format changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/97c5634af60db769cf795a36de383608ee64f0f8\"\u003e\u003ccode\u003e97c5634\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/abe8befb7b8c228135ce58323d43a55a7df743a6\"\u003e\u003ccode\u003eabe8bef\u003c/code\u003e\u003c/a\u003e Update resources (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3133\"\u003e#3133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/f3a027627472216e17e812f5324059f45d156298\"\u003e\u003ccode\u003ef3a0276\u003c/code\u003e\u003c/a\u003e Make wording in changeset more consistent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/87cd11399a9a9c921e5a8d4d08cfa502e8541a1f\"\u003e\u003ccode\u003e87cd113\u003c/code\u003e\u003c/a\u003e Update resources (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3132\"\u003e#3132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/compare/v10.10.0...v10.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.11.0 to 17.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)  b007369\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev17.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-09-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/353\"\u003e#353\u003c/a\u003e)  50a2119\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__webpack_layer__\u003c/code\u003e global (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/351\"\u003e#351\u003c/a\u003e)  779a11a\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.11.0...v17.12.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.11.0...v17.12.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/ce512bc1949f918ad6c17cc864a63ab6b077764f\"\u003e\u003ccode\u003ece512bc\u003c/code\u003e\u003c/a\u003e 17.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/b0073695ad35ad0cb34504f3152a20a8411306e7\"\u003e\u003ccode\u003eb007369\u003c/code\u003e\u003c/a\u003e Update globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/16cb1fe4a57062e8b3844b0c74b4d554f53af803\"\u003e\u003ccode\u003e16cb1fe\u003c/code\u003e\u003c/a\u003e Meta tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/98008c3200fc994ef3c074699e8ce0c9691fd071\"\u003e\u003ccode\u003e98008c3\u003c/code\u003e\u003c/a\u003e 17.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/50a2119777b37fef046c2e0bc24bca0bd9feb0be\"\u003e\u003ccode\u003e50a2119\u003c/code\u003e\u003c/a\u003e Update globals (2026-09-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/779a11a345f072a7fbb76b8b92458987a9a8fa38\"\u003e\u003ccode\u003e779a11a\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e__webpack_layer__\u003c/code\u003e global (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.11.0...v17.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jbrionestutiven-pixel/gh-repo-clone-FreeTubeApp-FreeTube/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrionestutiven-pixel%2Fgh-repo-clone-FreeTubeApp-FreeTube/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"},{"uuid":"5717244966","node_id":"PR_kwDOQNRdbM8AAAABGxV_Hg","number":454,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 41 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-05T18:41:16.000Z","updated_at":"2026-10-05T21:01:17.999Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":41,"packages":[{"name":"@typescript-eslint/eslint-plugin","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.9.1","new_version":"10.11.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"17.24.0","new_version":"18.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.34.0","new_version":"6.38.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.10.12","new_version":"2.11.4","repository_url":"https://github.com/vercel/turborepo"},{"name":"@tanstack/react-query","old_version":"5.102.8","new_version":"5.103.2","repository_url":"https://github.com/TanStack/query"},{"name":"react-router","old_version":"7.18.3","new_version":"8.4.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@testing-library/dom","old_version":"10.4.1","new_version":"10.4.2","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"nanostores","old_version":"1.5.3","new_version":"1.5.4","repository_url":"https://github.com/nanostores/nanostores"},{"name":"orval","old_version":"8.27.0","new_version":"8.37.0","repository_url":"https://github.com/orval-labs/orval"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.1","repository_url":"https://github.com/vitejs/vite"},{"name":"@fastify/cors","old_version":"10.1.0","new_version":"11.3.0","repository_url":"https://github.com/fastify/fastify-cors"},{"name":"@fastify/rate-limit","old_version":"10.3.0","new_version":"11.2.0","repository_url":"https://github.com/fastify/fastify-rate-limit"},{"name":"@fastify/swagger","old_version":"9.8.1","new_version":"9.9.0","repository_url":"https://github.com/fastify/fastify-swagger"},{"name":"@fastify/under-pressure","old_version":"9.1.0","new_version":"9.2.0","repository_url":"https://github.com/fastify/under-pressure"},{"name":"fastify-plugin","old_version":"5.1.0","new_version":"6.0.0","repository_url":"https://github.com/fastify/fastify-plugin"},{"name":"tsc-alias","old_version":"1.9.3","new_version":"1.9.5","repository_url":"https://github.com/justkey007/tsc-alias"},{"name":"resend","old_version":"6.28.1","new_version":"6.30.0","repository_url":"https://github.com/resend/resend-node"},{"name":"drizzle-kit","old_version":"0.31.10","new_version":"0.31.11","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"@langchain/anthropic","old_version":"1.5.9","new_version":"1.5.11","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/core","old_version":"1.2.9","new_version":"1.2.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/openai","old_version":"1.5.11","new_version":"1.5.13","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langchain","old_version":"1.5.10","new_version":"1.5.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langsmith","old_version":"0.10.1","new_version":"0.10.5","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"p-limit","old_version":"7.3.2","new_version":"7.3.3","repository_url":"https://github.com/sindresorhus/p-limit"},{"name":"ioredis","old_version":"5.11.1","new_version":"6.0.0","repository_url":"https://github.com/redis/ioredis"},{"name":"@dotenvx/dotenvx","old_version":"2.28.0","new_version":"2.30.0","repository_url":"https://github.com/dotenvx/dotenvx"},{"name":"@types/node","old_version":"26.5.1","new_version":"26.6.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"better-auth","old_version":"1.7.4","new_version":"1.7.6","repository_url":"https://github.com/better-auth/better-auth"},{"name":"drizzle-orm","old_version":"0.45.2","new_version":"0.45.3","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"react-dom","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react-dom","old_version":"19.2.5","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react","old_version":"19.2.18","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"tsx","old_version":"4.23.13","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"zod","old_version":"4.5.4","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 41 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.69.0` | `8.70.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.69.0` | `8.70.1` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.11.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `17.24.0` | `18.3.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.34.0` | `6.38.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.12` | `2.11.4` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.102.8` | `5.103.2` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.18.3` | `8.4.0` |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [nanostores](https://github.com/nanostores/nanostores) | `1.5.3` | `1.5.4` |\n| [orval](https://github.com/orval-labs/orval) | `8.27.0` | `8.37.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.1` |\n| [@fastify/cors](https://github.com/fastify/fastify-cors) | `10.1.0` | `11.3.0` |\n| [@fastify/rate-limit](https://github.com/fastify/fastify-rate-limit) | `10.3.0` | `11.2.0` |\n| [@fastify/swagger](https://github.com/fastify/fastify-swagger) | `9.8.1` | `9.9.0` |\n| [@fastify/under-pressure](https://github.com/fastify/under-pressure) | `9.1.0` | `9.2.0` |\n| [fastify-plugin](https://github.com/fastify/fastify-plugin) | `5.1.0` | `6.0.0` |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.9.3` | `1.9.5` |\n| [resend](https://github.com/resend/resend-node) | `6.28.1` | `6.30.0` |\n| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.10` | `0.31.11` |\n| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.5.9` | `1.5.11` |\n| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.2.9` | `1.2.12` |\n| [@langchain/openai](https://github.com/langchain-ai/langchainjs) | `1.5.11` | `1.5.13` |\n| [langchain](https://github.com/langchain-ai/langchainjs) | `1.5.10` | `1.5.12` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.10.1` | `0.10.5` |\n| [p-limit](https://github.com/sindresorhus/p-limit) | `7.3.2` | `7.3.3` |\n| [ioredis](https://github.com/redis/ioredis) | `5.11.1` | `6.0.0` |\n| [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) | `2.28.0` | `2.30.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.5.1` | `26.6.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.0` | `5.0.2` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.7.4` | `1.7.6` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.45.2` | `0.45.3` |\n| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |\n| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.13` | `4.23.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.2` |\n| [zod](https://github.com/colinhacks/zod) | `4.5.4` | `4.6.5` |\n\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.69.0 to 8.70.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.70.0 (2026-09-07)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730\"\u003e#12730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] report deprecated imported values used in object shorthand properties (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780\"\u003e#12780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] no false positive on RHS of a nested logical expression (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728\"\u003e#12728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [member-ordering] don't report fields that read fields declared before them (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729\"\u003e#12729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/9d82e4b1d9011da31d62d14387bb5a539853fafa\"\u003e\u003ccode\u003e9d82e4b\u003c/code\u003e\u003c/a\u003e chore: expand eslint-plugin rules test files glob (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12878\"\u003e#12878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f7482f636b89b8eab966b4191ce4a53a3f4b4d9c\"\u003e\u003ccode\u003ef7482f6\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-misused-promises] handle multiple Promise constituent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/267304477e04538614fe72ad71e7e13082eb7a90\"\u003e\u003ccode\u003e2673044\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [prefer-promise-reject-errors] add option sections and e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8f141a2ba63d539465eb4e4604f7d79f6f50ce14\"\u003e\u003ccode\u003e8f141a2\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] convert the fixer to a su...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/479cd85ff82b81dbec9989621681257ebc317a69\"\u003e\u003ccode\u003e479cd85\u003c/code\u003e\u003c/a\u003e chore: enable assertion option \u003ccode\u003erequireData\u003c/code\u003e for all rule tests (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12816\"\u003e#12816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f3c190c5b5cfa9edaba15fa3f944a76a7364b3ed\"\u003e\u003ccode\u003ef3c190c\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-condition] handle union-keyed index acces...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/b1993dfd3c45b2c2d83058627499f1dfec5d6d2c\"\u003e\u003ccode\u003eb1993df\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unbound-method] treat Intl.Collator.prototype.compare as...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/da394bc9c21afe97f456040da723d2c558f99658\"\u003e\u003ccode\u003eda394bc\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-parameter-property-assignment] account fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4a742ff890b7cca8cbf79e78a9a3b345913094c6\"\u003e\u003ccode\u003e4a742ff\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [await-thenable] prevent autofix from breaking code when ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.69.0 to 8.70.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.70.0 (2026-09-07)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7ee76085c22e923c0036b8e0733a3ca7dfd82b60\"\u003e\u003ccode\u003e7ee7608\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.9.1 to 10.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ac74e37322ebf122ada676f153dc55c81f3caab0\"\u003e\u003ccode\u003eac74e37\u003c/code\u003e\u003c/a\u003e chore: Add AGENTS.md with AI disclosure requirements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21221\"\u003e#21221\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c8326608e710e670beaf982501aed80ea104919a\"\u003e\u003ccode\u003ec832660\u003c/code\u003e\u003c/a\u003e chore: Upgrade Stylelint to the latest version in docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21245\"\u003e#21245\u003c/a\u003e) (Jung Hyeon Jun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf\"\u003e\u003ccode\u003ef9f88fc\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21308\"\u003e#21308\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77\"\u003e\u003ccode\u003efc81076\u003c/code\u003e\u003c/a\u003e ci: add more types integration tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20395\"\u003e#20395\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.10.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/264b4346d1963701df0c398b4aeb2f6e8b2af93e\"\u003e\u003ccode\u003e264b434\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003ed\u003c/code\u003e and \u003ccode\u003ev\u003c/code\u003e flags to \u003ccode\u003eno-unexpected-multiline\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21305\"\u003e#21305\u003c/a\u003e) (Gihyeon Jeong / 정기현)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6cc6c592f30901345d94ef75e0d42c1894fae6c\"\u003e\u003ccode\u003ec6cc6c5\u003c/code\u003e\u003c/a\u003e feat: check \u003ccode\u003eObject.prototype\u003c/code\u003e property names in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21269\"\u003e#21269\u003c/a\u003e) (crimsonjay0)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5661fa65fde9fd4c14f0b730e3cee6a42fc657c1\"\u003e\u003ccode\u003e5661fa6\u003c/code\u003e\u003c/a\u003e feat: no-extra-bind false negatives with class fields and static blocks (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21260\"\u003e#21260\u003c/a\u003e) (synthex-byte)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bb47dc6da2399a8f76c0c0c3273e6bc314c480e5\"\u003e\u003ccode\u003ebb47dc6\u003c/code\u003e\u003c/a\u003e fix: update dependency file-entry-cache to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20801\"\u003e#20801\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/427ac0a014066c36aa57fa8fa9af20fd9fb591e1\"\u003e\u003ccode\u003e427ac0a\u003c/code\u003e\u003c/a\u003e fix: use format strings in debug calls (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21247\"\u003e#21247\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146\"\u003e\u003ccode\u003e9d81532\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003e__proto__\u003c/code\u003e in \u003ccode\u003e/* exported */\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21261\"\u003e#21261\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/87e0a082438264ad90b87fd74165ab4fd90f63ef\"\u003e\u003ccode\u003e87e0a08\u003c/code\u003e\u003c/a\u003e fix: prefer-object-has-own autofix breaks when Object is shadowed (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21282\"\u003e#21282\u003c/a\u003e) (김채영)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8e2cb142217f2efee1d10dcc02bfb75145ae775d\"\u003e\u003ccode\u003e8e2cb14\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003enew-cap\u003c/code\u003e false positive for \u003ccode\u003eUTC\u003c/code\u003e calls with \u003ccode\u003eproperties: false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21275\"\u003e#21275\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55\"\u003e\u003ccode\u003e9f4a364\u003c/code\u003e\u003c/a\u003e fix: Ignore static imports in no-unreachable (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21276\"\u003e#21276\u003c/a\u003e) (Taha Kotil)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2417cad57d7d1bc4cf3ecf0f0575cfb10ff2011c\"\u003e\u003ccode\u003e2417cad\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cecb8a0a2348070abf72321965d41919c7cc626\"\u003e\u003ccode\u003e9cecb8a\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003e\\c\u003c/code\u003e control letter escapes in no-control-regex (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21286\"\u003e#21286\u003c/a\u003e) (한국)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739\"\u003e\u003ccode\u003e8724829\u003c/code\u003e\u003c/a\u003e docs: update compat table links (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21263\"\u003e#21263\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696\"\u003e\u003ccode\u003e5634542\u003c/code\u003e\u003c/a\u003e docs: Clarify eqeqeq suggestion behavior (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21256\"\u003e#21256\u003c/a\u003e) (Müslüm Yılmaz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b3d876b46083d67899eb1d9613118c1c583632a2\"\u003e\u003ccode\u003eb3d876b\u003c/code\u003e\u003c/a\u003e chore: disable npm audit in ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21306\"\u003e#21306\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1696682791661c13167eb905da2f38d1b8f4a3bf\"\u003e\u003ccode\u003e1696682\u003c/code\u003e\u003c/a\u003e ci: restore EMFILE test on Node.js 26 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21297\"\u003e#21297\u003c/a\u003e) (Marry (Subin Yang))\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3c0b7c6e1fe2dec778b97a996018126f22d437ae\"\u003e\u003ccode\u003e3c0b7c6\u003c/code\u003e\u003c/a\u003e 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/321f0a70dd908ed461b11142e17fbdc0c0f1f198\"\u003e\u003ccode\u003e321f0a7\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21\"\u003e#21\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.1...v10.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 17.24.0 to 18.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003emodule.exports\u003c/code\u003e for \u003ccode\u003erequire(esm)\u003c/code\u003e interop (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/542\"\u003e#542\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/04c99dfafa53482dcfb307d966f3c9996e707011\"\u003e04c99df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.0.1...v18.1.0\"\u003e18.1.0\u003c/a\u003e (2026-06-08)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003e\u003ccode\u003ed7afbed\u003c/code\u003e\u003c/a\u003e feat: implement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003e\u003ccode\u003ed499fc1\u003c/code\u003e\u003c/a\u003e chore: rename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e\u003ccode\u003e8d9bd05\u003c/code\u003e\u003c/a\u003e feat: add prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e\u003ccode\u003e8cae1af\u003c/code\u003e\u003c/a\u003e fix: support brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003e\u003ccode\u003ea6b3ce2\u003c/code\u003e\u003c/a\u003e fix: handle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003e\u003ccode\u003eb8e39c5\u003c/code\u003e\u003c/a\u003e fix(no-unsupported-features): classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003e\u003ccode\u003ea6cd6a5\u003c/code\u003e\u003c/a\u003e docs: update outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e\u003ccode\u003e4138d4e\u003c/code\u003e\u003c/a\u003e docs: add eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/0c31d00a050825b520dc25767ac2cf1707c9383e\"\u003e\u003ccode\u003e0c31d00\u003c/code\u003e\u003c/a\u003e chore(master): release 18.2.2 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.24.0...v18.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.34.0 to 6.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.38.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude co-authors in docs contributor list (0c334100df59d89a512ad598ec50e7f62f6da0c3)\u003c/li\u003e\n\u003cli\u003eFilter bots and agents from docs contributors (617f70d8179c6b8668ca41fe5df77ced5e2b37c0)\u003c/li\u003e\n\u003cli\u003eUpdate Eve plugin conventions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2049\"\u003e#2049\u003c/a\u003e) (260dbb91a85f3a3bc2727e8f255d73df3737552c) - thanks \u003ca href=\"https://github.com/matchai\"\u003e\u003ccode\u003e@​matchai\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eargs\u003c/code\u003e example to that doc page (50b271b98fc930a05a3b045a2f691486f9f06528)\u003c/li\u003e\n\u003cli\u003eAdd Turborepo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2055\"\u003e#2055\u003c/a\u003e) (e49d3db05f1d69ce7db3efcb8467a4af63c27379) - thanks \u003ca href=\"https://github.com/changbaebang\"\u003e\u003ccode\u003e@​changbaebang\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport-x/*\u003c/code\u003e settings in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2050\"\u003e#2050\u003c/a\u003e) (1a34cf82a3d6a1202717ef910bedba55838e9dd9) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e) (9b5c5f60468c8a92a3e74adca5c0931f008677af) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e) (a149a98219bb14b15f446fc5f8c4f815e28b2183) - thanks \u003ca href=\"https://github.com/matthewnitschke-wk\"\u003e\u003ccode\u003e@​matthewnitschke-wk\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e) (8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded) - thanks \u003ca href=\"https://github.com/vdavid\"\u003e\u003ccode\u003e@​vdavid\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e) (8a8805e48945863248429d18b7f6c4e4b7dc9ebd) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFlag unused member tags in tagged enums and namespaces (584e53ff3e0846fbfe04fa5b5bfefe2420576a34)\u003c/li\u003e\n\u003cli\u003efeat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e) (34dbccf25359f9e9fefe9d0be6ef2ec0252223cc) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eRefactor and separate concerns w/ new typescript-content-mapper plugin (11e94509bd0f350d747facf4003fc5b248d1b02d)\u003c/li\u003e\n\u003cli\u003eResolve mdx content mapper providerImportSource (7b5825117f97f2f87b7141509a254f88d0957cf7)\u003c/li\u003e\n\u003cli\u003eFix config → entry in plop plugin (25a380c9e1165b76583d69b48b5fa7cdf5db0ae2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.37.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(graphql-codegen): mark near-operation-file outputs as entries, not the documents directory (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2048\"\u003e#2048\u003c/a\u003e) (06a68fcf99a90e559daeb0b8fb2d24e173124774) - thanks \u003ca href=\"https://github.com/RobHannay\"\u003e\u003ccode\u003e@​RobHannay\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: enable JSX in the config loader (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1959\"\u003e#1959\u003c/a\u003e) (5b21dc9192f773613d1c5db8edf35f0a68820268) - thanks \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch binaries only to their actual dependency providers (c5bdb69ccbcb7e1056233f346d0ada3495d1013d)\u003c/li\u003e\n\u003cli\u003ePreserve executable references across package manager commands (54af171638db22f5d903faae05c37c2ea6adc869)\u003c/li\u003e\n\u003cli\u003eCorrect binary provider metadata in Relay fixtures (e67dfcb96d055c27be9c8601e077656855bb632b)\u003c/li\u003e\n\u003cli\u003eSeparate shell binary expectations from reporting exemptions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2022\"\u003e#2022\u003c/a\u003e) (c1d7d75a3529d9faff7f4c0df11dd0ca1bdfb149)\u003c/li\u003e\n\u003cli\u003eRespect npx no-install flags before the executable (4237010c9a834eb8b04f4a528c76d10a5c38ee98)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (038ea179f7d6bf7ca43bc5daf553a68b13a9067c)\u003c/li\u003e\n\u003cli\u003eRemove npm auth check now that's in release-it (4aaf77c58004ac64063a1982b98e53107c2ebe93)\u003c/li\u003e\n\u003cli\u003eFix --format name resolution in the ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2046\"\u003e#2046\u003c/a\u003e) (1269e98bb700384811fadc124d69ea720832037e) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.36.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@​tailwindcss/webpack\u003c/code\u003e as Tailwind plugin enabler (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2027\"\u003e#2027\u003c/a\u003e) (b5ac0cf734dda3c6c6c51c817981dfc558b7c582) - thanks \u003ca href=\"https://github.com/igas\"\u003e\u003ccode\u003e@​igas\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix Next.js Turbopack loader dependencies (23419b4edfd48796dd484fa880e1bad49a043d2e)\u003c/li\u003e\n\u003cli\u003eExplain ambiguous star exports in traces (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2025\"\u003e#2025\u003c/a\u003e) (3c2c1a53f9c2b7ff3057a4e46761791979e0b09c) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix eslintrc \u003ccode\u003eparserOptions.parser\u003c/code\u003e handling in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2028\"\u003e#2028\u003c/a\u003e) (c79463cec81d09518eda325ec00e6f12327dea8d) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(compilers): require word boundary around import keyword (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2029\"\u003e#2029\u003c/a\u003e) (68bbe51c39b564022b63942bc83cb570778cca00) - thanks \u003ca href=\"https://github.com/thanadolps\"\u003e\u003ccode\u003e@​thanadolps\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: recover from corrupt cache file (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2034\"\u003e#2034\u003c/a\u003e) (30ff7568c84e0a6731ca634a52314228d23d1a2b) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: fix trailing comma on dependency removal (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2033\"\u003e#2033\u003c/a\u003e) (adfaf4f78878b6d55b0939a92d70a1fbb0ae1240) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDocument built-in compiler scope (a05e155276dad4ead16992580d17572cebf045e7)\u003c/li\u003e\n\u003cli\u003eAdd babel, khan and oxc to projects and optimize svgs (1c26560b98bc3109e93d15761d02f089213bfb6c)\u003c/li\u003e\n\u003cli\u003eAdd section to test preview packages \u0026amp; extension (d911c18385f0aa41f53653a2a15cc90a1e0251b8)\u003c/li\u003e\n\u003cli\u003eFix shared info/exclude handling in linked Git worktrees (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2037\"\u003e#2037\u003c/a\u003e) (c1f18d5a7d25fc5a614747bbcbd62d043457eb48) - thanks \u003ca href=\"https://github.com/kenfdev\"\u003e\u003ccode\u003e@​kenfdev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eShard Node specs on Windows and enable Bun test parallelism (66e966b6edec4460b40b05847fefa9f90ee69068)\u003c/li\u003e\n\u003cli\u003eAdd Varlock plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2000\"\u003e#2000\u003c/a\u003e) (e4fbf46acff08e78370e72b142e795bd81f28561) - thanks \u003ca href=\"https://github.com/Joehoel\"\u003e\u003ccode\u003e@​Joehoel\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply NODE_OPTIONS inputs to package manager binaries (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2038\"\u003e#2038\u003c/a\u003e) (c8df8a28e9a19484efe7097f984abc0c6556aff5) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle array form of \u003ccode\u003eimport/resolver\u003c/code\u003e setting in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2041\"\u003e#2041\u003c/a\u003e) (a80d386a80fdafc89c610d4887ec82184ac178db) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(node): add valueless Node CLI flags to boolean options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2042\"\u003e#2042\u003c/a\u003e) (4c6768501f7115a894d7ece9e5c32090b684cc6f) - thanks \u003ca href=\"https://github.com/shoutoutuoadi325\"\u003e\u003ccode\u003e@​shoutoutuoadi325\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typedoc): accept string form of plugin and theme options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2043\"\u003e#2043\u003c/a\u003e) (ce387b05c8f136546e860ec73e29557563c63afa) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd textlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2039\"\u003e#2039\u003c/a\u003e) (532dab595fc9a910e320418dc0390222fb2d7478) - thanks \u003ca href=\"https://github.com/anandghegde\"\u003e\u003ccode\u003e@​anandghegde\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: Correctly resolve Vitest setupFiles from nested configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2040\"\u003e#2040\u003c/a\u003e) (84a494334e125d229dc865893b21d69d0d201e85) - thanks \u003ca href=\"https://github.com/CruseCtrl\"\u003e\u003ccode\u003e@​CruseCtrl\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd n8n to projects (3f756a7e70c4164d57a7dbbd58f3604afe4043e2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c0e42f83bda7664065465f2f3faca7af97c988ac\"\u003e\u003ccode\u003ec0e42f8\u003c/code\u003e\u003c/a\u003e Release knip@6.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/25a380c9e1165b76583d69b48b5fa7cdf5db0ae2\"\u003e\u003ccode\u003e25a380c\u003c/code\u003e\u003c/a\u003e Fix config → entry in plop plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/7b5825117f97f2f87b7141509a254f88d0957cf7\"\u003e\u003ccode\u003e7b58251\u003c/code\u003e\u003c/a\u003e Resolve mdx content mapper providerImportSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/11e94509bd0f350d747facf4003fc5b248d1b02d\"\u003e\u003ccode\u003e11e9450\u003c/code\u003e\u003c/a\u003e Refactor and separate concerns w/ new typescript-content-mapper plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/34dbccf25359f9e9fefe9d0be6ef2ec0252223cc\"\u003e\u003ccode\u003e34dbccf\u003c/code\u003e\u003c/a\u003e feat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/584e53ff3e0846fbfe04fa5b5bfefe2420576a34\"\u003e\u003ccode\u003e584e53f\u003c/code\u003e\u003c/a\u003e Flag unused member tags in tagged enums and namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a8805e48945863248429d18b7f6c4e4b7dc9ebd\"\u003e\u003ccode\u003e8a8805e\u003c/code\u003e\u003c/a\u003e Fix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded\"\u003e\u003ccode\u003e8b0c850\u003c/code\u003e\u003c/a\u003e Fix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a149a98219bb14b15f446fc5f8c4f815e28b2183\"\u003e\u003ccode\u003ea149a98\u003c/code\u003e\u003c/a\u003e Support oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/9b5c5f60468c8a92a3e74adca5c0931f008677af\"\u003e\u003ccode\u003e9b5c5f6\u003c/code\u003e\u003c/a\u003e Resolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.38.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.6 to 3.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.8/CHANGELOG.md#398\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular 22.2\u003c/li\u003e\n\u003cli\u003eFix regressions in v3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.7/CHANGELOG.md#397\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.8\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.7...3.9.8\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\nIf `module` is not a [`WebAssembly.Module`](https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.7 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\u003c/p\u003e\n\u003cp\u003e{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.7\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.6...3.9.7\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Prevent indentation drift in list-item code blocks (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19647\"\u003e#19647\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19990\"\u003e#19990\u003c/a\u003e by \u003ca href=\"https://github.com/Austin1serb\"\u003e\u003ccode\u003e@​Austin1serb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- [x] short first line.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/itsDaiton/nebula-chat/pull/454","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsDaiton%2Fnebula-chat/issues/454","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/454/packages"},{"uuid":"5709776262","node_id":"PR_kwDORCLmJM8AAAABGrRmDg","number":6049,"state":"closed","title":"chore(deps): bump the root-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-07T00:31:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T09:41:32.000Z","updated_at":"2026-10-07T00:31:54.000Z","time_to_close":139820,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"root-dependencies","update_count":12,"packages":[{"name":"@types/node","old_version":"26.6.3","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.70.1","new_version":"8.71.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.70.1","new_version":"8.71.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"dependency-cruiser","old_version":"18.4.0","new_version":"18.5.0","repository_url":"https://github.com/sverweij/dependency-cruiser"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"globals","old_version":"17.12.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jscpd","old_version":"5.3.2","new_version":"5.4.0","repository_url":"https://github.com/kucherenko/jscpd"},{"name":"knip","old_version":"6.38.0","new_version":"6.39.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"lefthook","old_version":"2.1.14","new_version":"2.1.16","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"prettier","old_version":"3.8.4","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.11.4","new_version":"2.11.6","repository_url":"https://github.com/vercel/turborepo"},{"name":"zod","old_version":"4.4.3","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"}],"path":null,"ecosystem":"npm"},"body":"Bumps the root-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.3` | `26.6.4` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.70.1` | `8.71.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.70.1` | `8.71.0` |\n| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `18.4.0` | `18.5.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.12.0` | `17.13.0` |\n| [jscpd](https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd) | `5.3.2` | `5.4.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.38.0` | `6.39.0` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.14` | `2.1.16` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.4` | `3.9.9` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.4` | `2.11.6` |\n| [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.5` |\n\n\nUpdates `@types/node` from 26.6.3 to 26.6.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.70.1 to 8.71.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.0\u003c/h2\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12732\"\u003e#12732\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 [switch-exhaustiveness-check] always sort literal cases in stable order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12885\"\u003e#12885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d\"\u003e7fce9127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] specialize generic assertion report message (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12832\"\u003e#12832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle a return outside of any function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12912\"\u003e#12912\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFatih Çakır \u003ca href=\"https://github.com/wfatih\"\u003e\u003ccode\u003e@​wfatih\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eZamiell \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12732\"\u003e#12732\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle a return outside of any function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12912\"\u003e#12912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] specialize generic assertion report message (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12832\"\u003e#12832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d\"\u003e7fce9127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [switch-exhaustiveness-check] always sort literal cases in stable order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12885\"\u003e#12885\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFatih Çakır \u003ca href=\"https://github.com/wfatih\"\u003e\u003ccode\u003e@​wfatih\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eZamiell \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8695664c5ee3fbb8fd76907fc45e148579cc3162\"\u003e\u003ccode\u003e8695664\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/99d759a4eaff6a91356a0dd9c04b4bac13b1c96f\"\u003e\u003ccode\u003e99d759a\u003c/code\u003e\u003c/a\u003e feat(eslint-plugin): [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12732\"\u003e#12732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ae3ac15dbcc42a6ccafb032d260e438e57768a46\"\u003e\u003ccode\u003eae3ac15\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): clarify checkTypePredicates assumptions (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12378\"\u003e#12378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/33824c112228444e76159ecd317366c8067e40e9\"\u003e\u003ccode\u003e33824c1\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-misused-promises] handle a return outside of any func...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7e25db3f642f3e995504dae20a4ff0bbd29e7c2b\"\u003e\u003ccode\u003e7e25db3\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-assertion] specialize generic assert...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8d7ab8806e01ddebaa60efc3181dfc13ccfd2051\"\u003e\u003ccode\u003e8d7ab88\u003c/code\u003e\u003c/a\u003e test: order union constituents stably in RuleTester tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127df036681d6f80c0bc45b585150943cc6\"\u003e\u003ccode\u003e7fce912\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ce700161532f8dad7bf4eaaa2ac993b031d89691\"\u003e\u003ccode\u003ece70016\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [switch-exhaustiveness-check] always sort literal cases i...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.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.70.1 to 8.71.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.0\u003c/h2\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12732\"\u003e#12732\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 [switch-exhaustiveness-check] always sort literal cases in stable order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12885\"\u003e#12885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d\"\u003e7fce9127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] specialize generic assertion report message (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12832\"\u003e#12832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle a return outside of any function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12912\"\u003e#12912\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFatih Çakır \u003ca href=\"https://github.com/wfatih\"\u003e\u003ccode\u003e@​wfatih\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eZamiell \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8695664c5ee3fbb8fd76907fc45e148579cc3162\"\u003e\u003ccode\u003e8695664\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dependency-cruiser` from 18.4.0 to 18.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sverweij/dependency-cruiser/releases\"\u003edependency-cruiser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.5.0\u003c/h2\u003e\n\u003ch2\u003e✨ features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e25ac2f7f feat(extract/tsc): adds support for imports inside module and namespace blocks (\u003ca href=\"https://redirect.github.com/sverweij/dependency-cruiser/issues/1095\"\u003e#1095\u003c/a\u003e) - thanks to \u003ca href=\"https://github.com/arpitjain099\"\u003e\u003ccode\u003e@​arpitjain099\u003c/code\u003e\u003c/a\u003e for detecting the missing feature AND making the PR\u003c/li\u003e\n\u003cli\u003e918d9193 feat(report/markdown): adds baseline stale table (\u003ca href=\"https://redirect.github.com/sverweij/dependency-cruiser/issues/1102\"\u003e#1102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👷 maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e10860b9a build(npm): updates external dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/0c973139131631d0b379f207d83285ddc464a881\"\u003e\u003ccode\u003e0c97313\u003c/code\u003e\u003c/a\u003e 18.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/10860b9a30710e5da452a90c057ef7a76f1fbb91\"\u003e\u003ccode\u003e10860b9\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/25ac2f7f8e403d43e0657b6d637568d149fa613a\"\u003e\u003ccode\u003e25ac2f7\u003c/code\u003e\u003c/a\u003e feat(extract/tsc): adds support for imports inside module and namespace block...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/918d9193edfae3fe1fb76cfe3d06cc0624539b91\"\u003e\u003ccode\u003e918d919\u003c/code\u003e\u003c/a\u003e feat(report/markdown): adds baseline stale table (\u003ca href=\"https://redirect.github.com/sverweij/dependency-cruiser/issues/1102\"\u003e#1102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sverweij/dependency-cruiser/compare/v18.4.0...v18.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.12.0 to 17.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)  b007369\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/ce512bc1949f918ad6c17cc864a63ab6b077764f\"\u003e\u003ccode\u003ece512bc\u003c/code\u003e\u003c/a\u003e 17.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/b0073695ad35ad0cb34504f3152a20a8411306e7\"\u003e\u003ccode\u003eb007369\u003c/code\u003e\u003c/a\u003e Update globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/16cb1fe4a57062e8b3844b0c74b4d554f53af803\"\u003e\u003ccode\u003e16cb1fe\u003c/code\u003e\u003c/a\u003e Meta tweaks\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jscpd` from 5.3.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kucherenko/jscpd/releases\"\u003ejscpd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v5.4.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eA language server: \u003ccode\u003ejscpd --lsp\u003c/code\u003e.\u003c/strong\u003e An editor starts jscpd for a workspace, and the files you edit get what jscpd finds as diagnostics that follow the text in the editor, saved or not. After 300 ms without typing, the server tokenizes the file again from the buffer and searches its detection pool again from the tokens it keeps for the rest of the project.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe server runs five analyses: clones (exact, renamed and near-miss copies), similar functions (\u003ccode\u003e--similarity\u003c/code\u003e), semantic clones (\u003ccode\u003e--semantic\u003c/code\u003e), dead code (\u003ccode\u003e--dead-code\u003c/code\u003e) and complexity, with a limit of 15 per function and the complex-file bar of the health score per file. Only clones are on unless you turn the others on, with \u003ccode\u003e--lsp-analyses\u003c/code\u003e, with the \u003ccode\u003elsp\u003c/code\u003e section of \u003ccode\u003e.jscpd.json\u003c/code\u003e, or from the editor's settings, and each place wins over the one before it.\u003c/li\u003e\n\u003cli\u003eThe code of each diagnostic is the id of its rule, the one the SARIF reporters write for clones and dead code. A clone is a warning, as in SARIF, and \u003ccode\u003elsp.clones.warningTokens\u003c/code\u003e lowers the smaller ones to information. Dead code is a hint that editors fade.\u003c/li\u003e\n\u003cli\u003eEach \u003ccode\u003e.jscpd.json\u003c/code\u003e in the workspace makes its folder a project of its own, and clones are found within a project. A workspace with no config is one project across all its folders.\u003c/li\u003e\n\u003cli\u003eA clone comes with \u0026quot;Go to the other copy\u0026quot; and \u0026quot;Ignore this clone\u0026quot;, which wraps the fragment in \u003ccode\u003ejscpd:ignore-start\u003c/code\u003e and \u003ccode\u003ejscpd:ignore-end\u003c/code\u003e comments. Dead code and semantic clones run in the background after a save, and the progress of each run ends with what it found, such as \u003ccode\u003e94 files, 13 clones\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eEditor clients can ask for the whole project's clones, semantic pairs, dead code, complexity and statistics with custom requests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/docs/editors.md\"\u003edocs/editors.md\u003c/a\u003e has the setup for Neovim, Helix, Sublime Text, Emacs and JetBrains IDEs, and \u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/lsp-demo/README.md\"\u003e\u003ccode\u003efixtures/lsp-demo\u003c/code\u003e\u003c/a\u003e is a project that shows each analysis. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1120\"\u003e#1120\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1121\"\u003e#1121\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1122\"\u003e#1122\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eComparing two codebases, experimental: \u003ccode\u003e--compare\u003c/code\u003e.\u003c/strong\u003e \u003ccode\u003ejscpd --compare source target\u003c/code\u003e pairs the functions of two folders with the \u003ccode\u003e--semantic\u003c/code\u003e model and reports which functions of each side have a counterpart in the other. During a port to another language or platform, that is what is still to port; for two implementations of one app, it is what only one of them has.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA function pairs with its counterpart when the model finds them each other's closest match. A short function the model cannot place pairs by name when the names match once case and underscores are ignored and the code is similar enough. Every pair has its similarity and a level, \u003ccode\u003ehigh\u003c/code\u003e, \u003ccode\u003emedium\u003c/code\u003e or \u003ccode\u003elow\u003c/code\u003e, and the report lists the pairs under other names on their own.\u003c/li\u003e\n\u003cli\u003eTests and code are measured apart, and a test pairs only with a test. jscpd tells a test by the conventions of its language, such as \u003ccode\u003e*_test.go\u003c/code\u003e, \u003ccode\u003etest_*.py\u003c/code\u003e, \u003ccode\u003e*.test.ts\u003c/code\u003e or Rust's \u003ccode\u003e#[cfg(test)]\u003c/code\u003e, and JavaScript test cases take part under their titles.\u003c/li\u003e\n\u003cli\u003eThe console, JSON and Markdown reporters print the totals per side and per file, the functions with no counterpart and the pairs. \u003ccode\u003e-r html\u003c/code\u003e writes a migration map: both sides as dependency graphs with the pairs bridging them, a table of the same pairs, and the functions ready to port, whose callees all have a counterpart already. The JSON report lists those as \u003ccode\u003ereadyToPort\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eOn the Java and Python versions of nayuki/QR-Code-generator, it paired 30 of 41 Java functions with no wrong pair. \u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/compare-demo/README.md\"\u003e\u003ccode\u003efixtures/compare-demo\u003c/code\u003e\u003c/a\u003e is a runnable example. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1115\"\u003e#1115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1118\"\u003e#1118\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1119\"\u003e#1119\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills for ports.\u003c/strong\u003e \u003ccode\u003ecompare-codebases\u003c/code\u003e explains how \u003ccode\u003e--compare\u003c/code\u003e pairs functions and how to check a comparison. \u003ccode\u003ecode-migration\u003c/code\u003e ports a codebase tests first, binds tests to code by coverage, and takes the next function to port from \u003ccode\u003e--compare\u003c/code\u003e. Install them with \u003ccode\u003enpx skills add kucherenko/jscpd --skill \u0026lt;name\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1115\"\u003e#1115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1117\"\u003e#1117\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePairs from \u003ccode\u003e--similarity\u003c/code\u003e have a SARIF rule of their own, \u003ccode\u003ejscpd/similar-function\u003c/code\u003e.\u003c/strong\u003e The \u003ccode\u003esimilar\u003c/code\u003e kind comes from two mechanisms that find different things, and SARIF filed both under \u003ccode\u003ejscpd/similar-code\u003c/code\u003e. That rule now keeps the copies merged across a gap (\u003ccode\u003e--max-gap-lines\u003c/code\u003e), and Code Climate's \u003ccode\u003echeck_name\u003c/code\u003e follows. GitHub code scanning matches alerts by rule, so the first upload of \u003ccode\u003e--similarity\u003c/code\u003e results after the update closes the old alerts and opens the same findings under the new rule. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1121\"\u003e#1121\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA failed \u003ccode\u003ecargo publish\u003c/code\u003e now fails the release job instead of passing it. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1116\"\u003e#1116\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePublished Packages\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebasta@0.3.0\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-core@0.1.20\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-finder@0.1.20\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-reporter@0.1.21\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-semantic@0.1.1\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-tokenizer@0.1.19\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd@5.4.0\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-darwin-arm64@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-darwin-x64@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-x64-gnu@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-arm64-gnu@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-x64-musl@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-arm64-musl@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-windows-x64-msvc@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-windows-arm64-msvc@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd==5.4.0\u003c/code\u003e on PyPI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/b6f832c62cf02b574ea9cf24e013cfeb17366a35\"\u003e\u003ccode\u003eb6f832c\u003c/code\u003e\u003c/a\u003e release: cpd-v5.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/b0185564dc6e94f1935acdebe9db1e08c06a24b5\"\u003e\u003ccode\u003eb018556\u003c/code\u003e\u003c/a\u003e release: cpd-v5.3.3\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kucherenko/jscpd/commits/v5.4.0/rust/jscpd\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.38.0 to 6.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.39.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Railway plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2026\"\u003e#2026\u003c/a\u003e) (6da55767eb419701dd32f93789a00e8bdc915276) - thanks \u003ca href=\"https://github.com/jonahsnider\"\u003e\u003ccode\u003e@​jonahsnider\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate query snapshot (8877d3cf35943e17a617e1197fa46c5a43342479)\u003c/li\u003e\n\u003cli\u003eFix excluded tags on entry re-exports (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2062\"\u003e#2062\u003c/a\u003e) (b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate rolldown snapshot (3a45c806e1c1b7ceb078903652c8631566400096)\u003c/li\u003e\n\u003cli\u003eSkip synthetic self-imports in Vue and Nuxt auto-import compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2067\"\u003e#2067\u003c/a\u003e) (d912d807e41f140bbc79bafce6882b3c05dec6ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(angular): keep other projects' inputs when one has no architect (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2064\"\u003e#2064\u003c/a\u003e) (af3f42e9772e9937fd71b7557d3b54aee1db339a) - thanks \u003ca href=\"https://github.com/Cayan\"\u003e\u003ccode\u003e@​Cayan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(vite): resolve nested HTML entry points in multi-page apps (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1988\"\u003e#1988\u003c/a\u003e) (4648aefe56e7bac521bb6f17189473b46f8ff00f) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImprove Rstest plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2068\"\u003e#2068\u003c/a\u003e) (add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf) - thanks \u003ca href=\"https://github.com/fi3ework\"\u003e\u003ccode\u003e@​fi3ework\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle profiles, formatters and require paths in Cucumber plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2065\"\u003e#2065\u003c/a\u003e) (2ad39fcf02e067b4bdfc06a658bf4bf5abeea764) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(playwright): resolve globalSetup/globalTeardown from config dir (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2076\"\u003e#2076\u003c/a\u003e) (7060bb968339680d694275413aba2833e4521ed9) - thanks \u003ca href=\"https://github.com/alokn\"\u003e\u003ccode\u003e@​alokn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: read entry export tags under the re-exported names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2069\"\u003e#2069\u003c/a\u003e) (1698683df95a96b3515795eb664aacf030042d7b) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/ed30e5b7e9a53ae0158726ee7ccdecc4f9dbde07\"\u003e\u003ccode\u003eed30e5b\u003c/code\u003e\u003c/a\u003e Release knip@6.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/1698683df95a96b3515795eb664aacf030042d7b\"\u003e\u003ccode\u003e1698683\u003c/code\u003e\u003c/a\u003e fix: read entry export tags under the re-exported names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2069\"\u003e#2069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/7060bb968339680d694275413aba2833e4521ed9\"\u003e\u003ccode\u003e7060bb9\u003c/code\u003e\u003c/a\u003e fix(playwright): resolve globalSetup/globalTeardown from config dir (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2076\"\u003e#2076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2ad39fcf02e067b4bdfc06a658bf4bf5abeea764\"\u003e\u003ccode\u003e2ad39fc\u003c/code\u003e\u003c/a\u003e Handle profiles, formatters and require paths in Cucumber plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2065\"\u003e#2065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf\"\u003e\u003ccode\u003eadd8799\u003c/code\u003e\u003c/a\u003e Improve Rstest plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/4648aefe56e7bac521bb6f17189473b46f8ff00f\"\u003e\u003ccode\u003e4648aef\u003c/code\u003e\u003c/a\u003e fix(vite): resolve nested HTML entry points in multi-page apps (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/af3f42e9772e9937fd71b7557d3b54aee1db339a\"\u003e\u003ccode\u003eaf3f42e\u003c/code\u003e\u003c/a\u003e fix(angular): keep other projects' inputs when one has no architect (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2064\"\u003e#2064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/d912d807e41f140bbc79bafce6882b3c05dec6ff\"\u003e\u003ccode\u003ed912d80\u003c/code\u003e\u003c/a\u003e Skip synthetic self-imports in Vue and Nuxt auto-import compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2067\"\u003e#2067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614\"\u003e\u003ccode\u003eb22e275\u003c/code\u003e\u003c/a\u003e Fix excluded tags on entry re-exports (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2062\"\u003e#2062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/6da55767eb419701dd32f93789a00e8bdc915276\"\u003e\u003ccode\u003e6da5576\u003c/code\u003e\u003c/a\u003e Add Railway plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2026\"\u003e#2026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.39.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lefthook` from 2.1.14 to 2.1.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.16\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e3ee04318fd06d56a70cc9c90dc8385b19918f520 ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e91407e537b2fa36539506963a33e582dca394798 deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebe6f0ae8793533449cb9a07a253fa9a381e82206 fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecf4ef1e19baf0581871f69b40914d64c94ff19d7 fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.15\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2388dde2b31dc9a782e967764046b41b404cece9 feat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e49260b57c2a56bc4d65d09395458bb3ce3c63311 fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38bc1c6cef3192a36002d0dcc37973416249c07e fix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e0892f5f256ebe162485492af5ca14c2ced45586f fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2 fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e07ce565bcc73465bc18fb36561b935ee2a53eab6 fix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec465ca8ef4fc9ee0695aa4a9530fc404ed838b7a test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: test staging fixed files with partially staged by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1483\"\u003e#1483\u003c/a\u003e) by \u003ca href=\"https://github.com/Sakshamm-Goyal\"\u003e\u003ccode\u003e@​Sakshamm-Goyal\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1560\"\u003e#1560\u003c/a\u003e) by \u003ca href=\"https://github.com/devindavies\"\u003e\u003ccode\u003e@​devindavies\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1559\"\u003e#1559\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1523\"\u003e#1523\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1558\"\u003e#1558\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1485\"\u003e#1485\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1527\"\u003e#1527\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1486\"\u003e#1486\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1509\"\u003e#1509\u003c/a\u003e) by \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1547\"\u003e#1547\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/433e6b9067d5d138bf63b47403e0df8895a40e33\"\u003e\u003ccode\u003e433e6b9\u003c/code\u003e\u003c/a\u003e 2.1.16: preserve unrelated unstaged changes on conflicts after autofixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ef1e19baf0581871f69b40914d64c94ff19d7\"\u003e\u003ccode\u003ecf4ef1e\u003c/code\u003e\u003c/a\u003e fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/be6f0ae8793533449cb9a07a253fa9a381e82206\"\u003e\u003ccode\u003ebe6f0ae\u003c/code\u003e\u003c/a\u003e fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/91407e537b2fa36539506963a33e582dca394798\"\u003e\u003ccode\u003e91407e5\u003c/code\u003e\u003c/a\u003e deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/3ee04318fd06d56a70cc9c90dc8385b19918f520\"\u003e\u003ccode\u003e3ee0431\u003c/code\u003e\u003c/a\u003e ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/d050364655420db8a4241f2480942a8d8ddb3486\"\u003e\u003ccode\u003ed050364\u003c/code\u003e\u003c/a\u003e 2.1.15: small fixes to output and LFS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/49260b57c2a56bc4d65d09395458bb3ce3c63311\"\u003e\u003ccode\u003e49260b5\u003c/code\u003e\u003c/a\u003e fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/0892f5f256ebe162485492af5ca14c2ced45586f\"\u003e\u003ccode\u003e0892f5f\u003c/code\u003e\u003c/a\u003e fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/f1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2\"\u003e\u003ccode\u003ef1de41c\u003c/code\u003e\u003c/a\u003e fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/c465ca8ef4fc9ee0695aa4a9530fc404ed838b7a\"\u003e\u003ccode\u003ec465ca8\u003c/code\u003e\u003c/a\u003e test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/evilmartians/lefthook/compare/v2.1.14...v2.1.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.4 to 3.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.8/CHANGELOG.md#398\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular 22.2\u003c/li\u003e\n\u003cli\u003eFix regressions in v3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.7/CHANGELOG.md#397\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003eprettier/prettier#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport defer\u003c/code\u003e in \u003ccode\u003etypescript\u003c/code\u003e parser (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003eprettier/prettier#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003eprettier/prettier#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a new official plugin \u003ca href=\"https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku\"\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e 🚀\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003eprettier/prettier#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003eprettier/prettier#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.5\u003c/h2\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.5/CHANGELOG.md#395\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAngular: Format \u003ccode\u003e@content(name)\u003c/code\u003e -\u0026gt; \u003ccode\u003e@content (name)\u003c/code\u003e to align with other block syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19499\"\u003e#19499\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.4/CHANGELOG.md#394\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix unexpected removal of characters in liquid syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19489\"\u003eprettier/prettier#19489\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeScript: Allow decorators to be used with declare on class fields (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19492\"\u003eprettier/prettier#19492\u003c/a\u003e by \u003ca href=\"https://github.com/evoactivity\"\u003e\u003ccode\u003e@​evoactivity\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.3/CHANGELOG.md#393\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Fix ignored file has been cached incorrectly (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19483\"\u003e#19483\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.1/CHANGELOG.md#391\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.5...3.9.0\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.8\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.7...3.9.8\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\nIf `module` is not a [`WebAssembly.Module`](https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.7 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\u003c/p\u003e\n\u003cp\u003e{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.7\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.6...3.9.7\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Prevent indentation drift in list-item code blocks (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19647\"\u003e#19647\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19990\"\u003e#19990\u003c/a\u003e by \u003ca href=\"https://github.com/Austin1serb\"\u003e\u003ccode\u003e@​Austin1serb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- [x] short first line.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20140\"\u003e#20140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f9be58fb8ec62dd47197ea19a30aac5ad26dfee0\"\u003e\u003ccode\u003ef9be58f\u003c/code\u003e\u003c/a\u003e Git blame ignore 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/88470cb79ca3b757dd6b93906d9a992aa1a456c3\"\u003e\u003ccode\u003e88470cb\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/9559cab39eb5082c99a27e8829760c055adba841\"\u003e\u003ccode\u003e9559cab\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4fc8ee87465de8d54780273a6996d74e8e9da827\"\u003e\u003ccode\u003e4fc8ee8\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4f2ab6765d7cb29408a2abdac75d023d64d44107\"\u003e\u003ccode\u003e4f2ab67\u003c/code\u003e\u003c/a\u003e Release 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/3d82af8b15b8e89de20dd05cc65f66ab6d4ce8b0\"\u003e\u003ccode\u003e3d82af8\u003c/code\u003e\u003c/a\u003e Update Regex related dependencies (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20082\"\u003e#20082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/5ec8db1745c2bdcca3706ab8cfbbe5c11fc457c1\"\u003e\u003ccode\u003e5ec8db1\u003c/code\u003e\u003c/a\u003e [3.9.x] Markdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20087\"\u003e#20087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/5b142ed2bce0095161bf6865af30df2d5ba99466\"\u003e\u003ccode\u003e5b142ed\u003c/code\u003e\u003c/a\u003e Release Release \u003ccode\u003e@​prettier/plugin-hermes\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.2.3, \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.2.3, an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.4...3.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.11.4 to 2.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.11.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Release Turborepo 2.11.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14329\"\u003evercel/turborepo#14329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade standalone turbo on installer reruns by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14330\"\u003evercel/turborepo#14330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Deflake OpenTelemetry and PTY shutdown tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14331\"\u003evercel/turborepo#14331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Document standalone turbo installation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14332\"\u003evercel/turborepo#14332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Install standalone turbo on Windows with PowerShell by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14334\"\u003evercel/turborepo#14334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Keep Yarn patch resolutions with npm protocol selectors in prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14337\"\u003evercel/turborepo#14337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-tailwind example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14264\"\u003evercel/turborepo#14264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Resolve latest turbo release with workflow token by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14339\"\u003evercel/turborepo#14339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-ultracite example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14335\"\u003evercel/turborepo#14335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Match production MFE negative lookaheads locally by \u003ca href=\"https://github.com/kitfoster\"\u003e\u003ccode\u003e@​kitfoster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13496\"\u003evercel/turborepo#13496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add missing system environment variables and run flags by \u003ca href=\"https://github.com/BABTUNA\"\u003e\u003ccode\u003e@​BABTUNA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13811\"\u003evercel/turborepo#13811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Normalize task inputs consistently for affected detection and hashing by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14341\"\u003evercel/turborepo#14341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add task tags with configuration inheritance by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14342\"\u003evercel/turborepo#14342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade brace-expansion to latest compatible releases by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14347\"\u003evercel/turborepo#14347\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Point security.txt to Vercel HackerOne program by \u003ca href=\"https://github.com/swarnava\"\u003e\u003ccode\u003e@​swarnava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14346\"\u003evercel/turborepo#14346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Deflake untracked scan-scope assertions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14348\"\u003evercel/turborepo#14348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Expose task and package tags in \u003ccode\u003equery\u003c/code\u003e by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14343\"\u003evercel/turborepo#14343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Filter \u003ccode\u003equery\u003c/code\u003e tasks and packages by tags by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14344\"\u003evercel/turborepo#14344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Filter tasks by tags in the CLI by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14345\"\u003evercel/turborepo#14345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Complete task \u003ccode\u003equery\u003c/code\u003e metadata for non-script entrypoints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14350\"\u003evercel/turborepo#14350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Infer single-package mode for query commands by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14351\"\u003evercel/turborepo#14351\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/swarnava\"\u003e\u003ccode\u003e@​swarnava\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14346\"\u003evercel/turborepo#14346\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.5...v2.11.6\"\u003ehttps://github.com/vercel/turborepo/compare/v2.11.5...v2.11.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.11.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Release Turborepo 2.11.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14231\"\u003evercel/turborepo#14231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Python opt-in hint into filter contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14228\"\u003evercel/turborepo#14228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move dependency-output summary assertion into contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14230\"\u003evercel/turborepo#14230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move dependency-output selection and validation cases to engine contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14232\"\u003evercel/turborepo#14232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Cargo exclude-only scope coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14238\"\u003evercel/turborepo#14238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Cargo cache-authority cases to contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14240\"\u003evercel/turborepo#14240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move JIT dependency graph scenario into engine contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14235\"\u003evercel/turborepo#14235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move dependency-output hash cases into task-hash contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14233\"\u003evercel/turborepo#14233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Cargo task-filter cases into crate contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14239\"\u003evercel/turborepo#14239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move JIT input hash timing cases into task-hash contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14234\"\u003evercel/turborepo#14234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move package input normalization cases into engine contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14236\"\u003evercel/turborepo#14236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move structured startup and JIT input cases into contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14237\"\u003evercel/turborepo#14237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Back off remote artifact requests during outages by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14222\"\u003evercel/turborepo#14222\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fcd121358c58a57f678bf96938ed56553820d16e\"\u003e\u003ccode\u003efcd1213\u003c/code\u003e\u003c/a\u003e publish 2.11.6 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/90718d15c5249ddb037c7461db6ecb51bf0eb2c4\"\u003e\u003ccode\u003e90718d1\u003c/code\u003e\u003c/a\u003e fix: Infer single-package mode for query commands (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14351\"\u003e#14351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/a409ce5af84a094b669ef0df994d77bfdf63b32a\"\u003e\u003ccode\u003ea409ce5\u003c/code\u003e\u003c/a\u003e fix: Complete task \u003ccode\u003equery\u003c/code\u003e metadata for non-script entrypoints (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14350\"\u003e#14350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/bc7c148ac1c3680d4f3d13b91f265beed87edba1\"\u003e\u003ccode\u003ebc7c148\u003c/code\u003e\u003c/a\u003e feat: Filter tasks by tags in the CLI (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14345\"\u003e#14345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/49d16076271dad9b56421d3ff8e702a33f9d5f50\"\u003e\u003ccode\u003e49d1607\u003c/code\u003e\u003c/a\u003e feat: Filter \u003ccode\u003equery\u003c/code\u003e tasks and packages by tags (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14344\"\u003e#14344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fba5351c47fe9b1bb1669d554a8535f2f3376a36\"\u003e\u003ccode\u003efba5351\u003c/code\u003e\u003c/a\u003e feat: Expose task and package tags in \u003ccode\u003equery\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14343\"\u003e#14343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4570e0c966561a4cbb09ae529582bad77cf05c8\"\u003e\u003ccode\u003eb4570e0\u003c/code\u003e\u003c/a\u003e test: Deflake untracked scan-scope assertions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14348\"\u003e#14348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fa107aa83463ea1877a3cf5baba447d7e9bda78a\"\u003e\u003ccode\u003efa107aa\u003c/code\u003e\u003c/a\u003e docs: Point security.txt to Vercel HackerOne program (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14346\"\u003e#14346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0deb0e745283c23331ec3ccb579073cf04d6950a\"\u003e\u003ccode\u003e0deb0e7\u003c/code\u003e\u003c/a\u003e fix: Upgrade brace-expansion to latest compatible releases (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14347\"\u003e#14347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/d44edbe5a753be6c0e36330fc34ff3f164d91c15\"\u003e\u003ccode\u003ed44edbe\u003c/code\u003e\u003c/a\u003e feat: Add task tags with configuration inheritance (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14342\"\u003e#14342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.4...v2.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zod` from 4.4.3 to 4.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/colinhacks/zod/releases\"\u003ezod's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.5\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ed2b135cfb7a3582b9eb515756b9166bcb9521f4a docs: add the 4.6.x patch highlights to the 4.6 post\u003c/li\u003e\n\u003cli\u003ef1448f7cee00df9fe1e9ad84a000aa1828cc8bc1 docs: fold the 4.6.x patch highlights into the 4.6 post's own sections\u003c/li\u003e\n\u003cli\u003ede65a5cb39ed22a507fac935788f718fa88d104f docs: lead the properties section with the check and add a Zod Mini tab (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6598\"\u003e#6598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e56222cd1532c07bcb91b67df529cab4c0a215330 feat(instanceof): key the .properties() shape off the instance type (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6600\"\u003e#6600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eca0229a404818290e6cdcfefcd7eb2d04bcbb543 Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, refreshed weekly by CI (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6595\"\u003e#6595\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003ecc4cd4ee9c52fcaa10964e48cc144541e41a5ed9 Revert \u0026quot;Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, refreshed weekly by CI (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6595\"\u003e#6595\u003c/a\u003e)\u0026quot;\u0026quot;\u003c/li\u003e\n\u003cli\u003e0f3f5ee3ca56c7574bf849e54f79e9a6e02562ee 4.6.5\u003c/li\u003e\n\u003cli\u003e59bbc03e10c636b9eb3c393dfeb552819774ec21 chore: re-pin the integration peers to the workspace zod after the 4.6.5 bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.4\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.3\"\u003e4.6.3\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/d6bc1e30\"\u003e\u003ccode\u003ed6bc1e30\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003ez.currencyCode()\u003c/code\u003e over a vendored ISO 4217 list, refreshed weekly by CI (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6595\"\u003e#6595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/ad32d751\"\u003e\u003ccode\u003ead32d751\u003c/code\u003e\u003c/a\u003e perf: \u003ccode\u003ez.url()\u003c/code\u003e rejects an invalid URL with \u003ccode\u003eURL.canParse()\u003c/code\u003e instead of a throwing constructor, about 50x faster; fewer allocations on the validation path (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2bb08717\"\u003e\u003ccode\u003e2bb08717\u003c/code\u003e\u003c/a\u003e chore: re-pin the integration peers to the workspace zod after the 4.6.4 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/f6e1701a\"\u003e\u003ccode\u003ef6e1701a\u003c/code\u003e\u003c/a\u003e chore(deps): bump next to 15.5.25 and vite to 7.3.6 (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6153\"\u003e#6153\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.3\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.2\"\u003e4.6.2\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/413cce9a\"\u003e\u003ccode\u003e413cce9a\u003c/code\u003e\u003c/a\u003e fix(v4): make z.properties() a check again (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6594\"\u003e#6594\u003c/a\u003e) — removes the standalone \u003ccode\u003ez.properties()\u003c/code\u003e schema from 4.6.0; \u003ccode\u003ez.instanceof().properties()\u003c/code\u003e and \u003ccode\u003e.check(...z.properties())\u003c/code\u003e are unchanged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/75d63ee1\"\u003e\u003ccode\u003e75d63ee1\u003c/code\u003e\u003c/a\u003e docs: show only the \u003ccode\u003e.properties()\u003c/code\u003e method form in the 4.6 post\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/46da9572\"\u003e\u003ccode\u003e46da9572\u003c/code\u003e\u003c/a\u003e docs: match the error-message examples to what the parsers emit\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.2\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.1\"\u003e4.6.1\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/9446b5cc\"\u003e\u003ccode\u003e9446b5cc\u003c/code\u003e\u003c/a\u003e fix: preserve undefined prefault outputs and object keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6587\"\u003e#6587\u003c/a\u003e) — closes \u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6585\"\u003e#6585\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/0c483c58\"\u003e\u003ccode\u003e0c483c58\u003c/code\u003e\u003c/a\u003e docs: the \u003ca href=\"https://zod.dev/blog/zod-4-6\"\u003eZod 4.6 announcement post\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6546\"\u003e#6546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/a00c3f34\"\u003e\u003ccode\u003ea00c3f34\u003c/code\u003e\u003c/a\u003e docs: use Trigger.dev's brand-kit lockups for the platinum card\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.1\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.0\"\u003e4.6.0\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/b12aa523\"\u003e\u003ccode\u003eb12aa523\u003c/code\u003e\u003c/a\u003e fix: preserve unique tags with defaulted discriminators (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6582\"\u003e#6582\u003c/a\u003e) — closes \u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6577\"\u003e#6577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/dd9c36fa\"\u003e\u003ccode\u003edd9c36fa\u003c/code\u003e\u003c/a\u003e fix(v4): defer recursive object index inference (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6580\"\u003e#6580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/3b154992\"\u003e\u003ccode\u003e3b154992\u003c/code\u003e\u003c/a\u003e feat(lang): add Tajik (\u003ccode\u003etg\u003c/code\u003e) locale (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6581\"\u003e#6581\u003c/a\u003e) by \u003ca href=\"https://github.com/ismoil77\"\u003e\u003ccode\u003e@​ismoil77\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2efa8b80\"\u003e\u003ccode\u003e2efa8b80\u003c/code\u003e\u003c/a\u003e ci: give the npm wait a real budget and drop the back-publish path (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.0\u003c/h2\u003e\n\u003cp\u003eZod 4.6 is now available.\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003enpm install zod@latest\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAt a glance:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/59bbc03e10c636b9eb3c393dfeb552819774ec21\"\u003e\u003ccode\u003e59bbc03\u003c/code\u003e\u003c/a\u003e chore: re-pin the integration peers to the workspace zod after the 4.6.5 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/0f3f5ee3ca56c7574bf849e54f79e9a6e02562ee\"\u003e\u003ccode\u003e0f3f5ee\u003c/code\u003e\u003c/a\u003e 4.6.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/cc4cd4ee9c52fcaa10964e48cc144541e41a5ed9\"\u003e\u003ccode\u003ecc4cd4e\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, ref...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/ca0229a404818290e6cdcfefcd7eb2d04bcbb543\"\u003e\u003ccode\u003eca0229a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, refreshed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/56222cd1532c07bcb91b67df529cab4c0a215330\"\u003e\u003ccode\u003e56222cd\u003c/code\u003e\u003c/a\u003e feat(instanceof): key the .properties() shape off the instance type (\u003ca href=\"https://redirect.gi...\n\n_Description has been truncated_","html_url":"https://github.com/basilisk-labs/agentplane/pull/6049","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilisk-labs%2Fagentplane/issues/6049","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6049/packages"},{"uuid":"5697704306","node_id":"PR_kwDOTqpNeM8AAAABGhzi6Q","number":30,"state":"open","title":"chore(deps): bump the production-dependencies group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-04T08:46:16.000Z","updated_at":"2026-10-04T08:46:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":32,"packages":[{"name":"@fastify/basic-auth","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/fastify/fastify-basic-auth"},{"name":"@fastify/compress","old_version":"9.1.0","new_version":"9.2.0","repository_url":"https://github.com/fastify/fastify-compress"},{"name":"@fastify/helmet","old_version":"13.1.0","new_version":"13.1.1","repository_url":"https://github.com/fastify/fastify-helmet"},{"name":"@nestjs/common","old_version":"11.1.28","new_version":"12.1.0","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/core","old_version":"11.1.28","new_version":"12.1.0","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-fastify","old_version":"11.1.28","new_version":"12.1.0","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/swagger","old_version":"11.4.6","new_version":"12.0.2","repository_url":"https://github.com/nestjs/swagger"},{"name":"@nestjs/terminus","old_version":"11.1.1","new_version":"12.1.0","repository_url":"https://github.com/nestjs/terminus"},{"name":"@opentelemetry/auto-instrumentations-node","old_version":"0.79.0","new_version":"0.80.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js-contrib"},{"name":"@opentelemetry/exporter-trace-otlp-http","old_version":"0.221.0","new_version":"0.222.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/resources","old_version":"2.10.0","new_version":"2.11.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/sdk-node","old_version":"0.221.0","new_version":"0.222.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@prisma/adapter-pg","old_version":"7.9.1","new_version":"7.10.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.9.1","new_version":"7.10.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@scalar/nestjs-api-reference","old_version":"1.2.12","new_version":"1.2.23","repository_url":"https://github.com/scalar/scalar"},{"name":"nestjs-pino","old_version":"4.6.1","new_version":"5.2.1","repository_url":"https://github.com/iamolegga/nestjs-pino"},{"name":"uuid","old_version":"14.0.1","new_version":"14.0.2","repository_url":"https://github.com/uuidjs/uuid"},{"name":"zod","old_version":"4.4.3","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"},{"name":"@eslint-community/eslint-plugin-eslint-comments","old_version":"4.7.2","new_version":"4.8.1","repository_url":"https://github.com/eslint-community/eslint-plugin-eslint-comments"},{"name":"@eslint-react/eslint-plugin","old_version":"5.18.1","new_version":"5.20.8","repository_url":"https://github.com/Rel1cx/eslint-react"},{"name":"@next/eslint-plugin-next","old_version":"16.2.12","new_version":"16.3.6","repository_url":"https://github.com/vercel/next.js"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.65.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.65.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/eslint-plugin","old_version":"1.6.24","new_version":"1.6.27","repository_url":"https://github.com/vitest-dev/eslint-plugin-vitest"},{"name":"eslint-config-flat-gitignore","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/antfu/eslint-config-flat-gitignore"},{"name":"eslint-plugin-de-morgan","old_version":"2.1.3","new_version":"2.2.0","repository_url":"https://github.com/azat-io/eslint-plugin-de-morgan"},{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-playwright","old_version":"2.11.0","new_version":"2.12.0","repository_url":"https://github.com/mskelton/eslint-plugin-playwright"},{"name":"eslint-plugin-regexp","old_version":"3.1.1","new_version":"3.3.1","repository_url":"https://github.com/ota-meshi/eslint-plugin-regexp"},{"name":"eslint-plugin-sonarjs","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/SonarSource/SonarJS"},{"name":"eslint-plugin-unicorn","old_version":"72.0.0","new_version":"76.0.0","repository_url":"https://github.com/sindresorhus/eslint-plugin-unicorn"},{"name":"globals","old_version":"17.8.0","new_version":"17.12.0","repository_url":"https://github.com/sindresorhus/globals"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 32 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@fastify/basic-auth](https://github.com/fastify/fastify-basic-auth) | `6.2.0` | `6.3.0` |\n| [@fastify/compress](https://github.com/fastify/fastify-compress) | `9.1.0` | `9.2.0` |\n| [@fastify/helmet](https://github.com/fastify/fastify-helmet) | `13.1.0` | `13.1.1` |\n| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `11.1.28` | `12.1.0` |\n| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `11.1.28` | `12.1.0` |\n| [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify) | `11.1.28` | `12.1.0` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.6` | `12.0.2` |\n| [@nestjs/terminus](https://github.com/nestjs/terminus) | `11.1.1` | `12.1.0` |\n| [@opentelemetry/auto-instrumentations-node](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node) | `0.79.0` | `0.80.0` |\n| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.222.0` |\n| [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) | `2.10.0` | `2.11.0` |\n| [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.222.0` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.9.1` | `7.10.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.9.1` | `7.10.0` |\n| [@scalar/nestjs-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/nestjs) | `1.2.12` | `1.2.23` |\n| [nestjs-pino](https://github.com/iamolegga/nestjs-pino) | `4.6.1` | `5.2.1` |\n| [uuid](https://github.com/uuidjs/uuid) | `14.0.1` | `14.0.2` |\n| [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.5` |\n| [@eslint-community/eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments) | `4.7.2` | `4.8.1` |\n| [@eslint-react/eslint-plugin](https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin) | `5.18.1` | `5.20.8` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.2.12` | `16.3.6` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.65.0` | `8.70.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.65.0` | `8.70.1` |\n| [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) | `1.6.24` | `1.6.27` |\n| [eslint-config-flat-gitignore](https://github.com/antfu/eslint-config-flat-gitignore) | `2.3.0` | `2.4.0` |\n| [eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan) | `2.1.3` | `2.2.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.2.2` | `18.4.0` |\n| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.11.0` | `2.12.0` |\n| [eslint-plugin-regexp](https://github.com/ota-meshi/eslint-plugin-regexp) | `3.1.1` | `3.3.1` |\n| [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS) | `4.2.0` | `4.2.1` |\n| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) | `72.0.0` | `76.0.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.8.0` | `17.12.0` |\n\n\nUpdates `@fastify/basic-auth` from 6.2.0 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastify/fastify-basic-auth/releases\"\u003e@​fastify/basic-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump tsd from 0.31.2 to 0.32.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/170\"\u003efastify/fastify-basic-auth#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(license): update date ranges; standardise style by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/171\"\u003efastify/fastify-basic-auth#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 22.15.34 to 24.0.8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/172\"\u003efastify/fastify-basic-auth#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(.npmrc): ignore scripts by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/173\"\u003efastify/fastify-basic-auth#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): remove \u003ccode\u003e@​fastify/pre-commit\u003c/code\u003e by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/174\"\u003efastify/fastify-basic-auth#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(ci): add concurrency config by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/176\"\u003efastify/fastify-basic-auth#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump tsd from 0.32.0 to 0.33.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/175\"\u003efastify/fastify-basic-auth#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(index): add jsdoc types by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/177\"\u003efastify/fastify-basic-auth#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(index): remove redundant regex non-capture group by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/179\"\u003efastify/fastify-basic-auth#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(index): enforce strict regex by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/178\"\u003efastify/fastify-basic-auth#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 24.10.4 to 25.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/180\"\u003efastify/fastify-basic-auth#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: remove stale.yml by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/181\"\u003efastify/fastify-basic-auth#181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(license): standardise license notice by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/182\"\u003efastify/fastify-basic-auth#182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump c8 from 10.1.3 to 11.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/184\"\u003efastify/fastify-basic-auth#184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/185\"\u003efastify/fastify-basic-auth#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump neostandard from 0.12.2 to 0.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/187\"\u003efastify/fastify-basic-auth#187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add lock-threads workflow by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/188\"\u003efastify/fastify-basic-auth#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(types): migrate from tsd to tstyche by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/189\"\u003efastify/fastify-basic-auth#189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update depedabot setting by \u003ca href=\"https://github.com/climba03003\"\u003e\u003ccode\u003e@​climba03003\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/191\"\u003efastify/fastify-basic-auth#191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify-plugin from 5.1.0 to 6.0.0 in the dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/193\"\u003efastify/fastify-basic-auth#193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(package.json): fix delvedor's personal url by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/194\"\u003efastify/fastify-basic-auth#194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix broken links by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/195\"\u003efastify/fastify-basic-auth#195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.9.4 to 26.0.1 in the dev-dependencies-typescript group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/196\"\u003efastify/fastify-basic-auth#196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin actions to commit-hash by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/197\"\u003efastify/fastify-basic-auth#197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump c8 from 11.0.0 to 12.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/198\"\u003efastify/fastify-basic-auth#198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(.npmrc): add min-release-age by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/199\"\u003efastify/fastify-basic-auth#199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/plugins-ci.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/200\"\u003efastify/fastify-basic-auth#200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/lock-threads.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/201\"\u003efastify/fastify-basic-auth#201\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/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/181\"\u003efastify/fastify-basic-auth#181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-basic-auth/compare/v6.2.0...v6.3.0\"\u003ehttps://github.com/fastify/fastify-basic-auth/compare/v6.2.0...v6.3.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/fastify/fastify-basic-auth/commit/3254bc2f8161e88171e81fd94b103b21b7eb1dc2\"\u003e\u003ccode\u003e3254bc2\u003c/code\u003e\u003c/a\u003e Bumped v6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/c6a5b7bb2f03d066e7d3ccd029825e0f11837edf\"\u003e\u003ccode\u003ec6a5b7b\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/lock-threads.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/201\"\u003e#201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/8f827fad1d0b5526a59e09db658bf979c51d199f\"\u003e\u003ccode\u003e8f827fa\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/plugins-ci.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/8b607456f5ee88cf5b4a43b5835bbc7172045869\"\u003e\u003ccode\u003e8b60745\u003c/code\u003e\u003c/a\u003e chore(.npmrc): add min-release-age\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/870ebb39caad5e35a9b11a69cc9be0be456d962b\"\u003e\u003ccode\u003e870ebb3\u003c/code\u003e\u003c/a\u003e chore: bump c8 from 11.0.0 to 12.0.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/198\"\u003e#198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/ca9aee36aab77cec48246686a61e3f399896c90f\"\u003e\u003ccode\u003eca9aee3\u003c/code\u003e\u003c/a\u003e ci: pin actions to commit-hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/b8c1472aaf6827f4d1a3d39eac3437833fb2240a\"\u003e\u003ccode\u003eb8c1472\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​types/node\u003c/code\u003e in the dev-dependencies-typescript group (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/4bfe5807521528b0aa8494238ebb9f3911c40171\"\u003e\u003ccode\u003e4bfe580\u003c/code\u003e\u003c/a\u003e docs: fix broken links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/01ac0288e9cc628350fc9a715048818747ff2327\"\u003e\u003ccode\u003e01ac028\u003c/code\u003e\u003c/a\u003e chore(package.json): fix delvedor's personal url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/48c7c29160dc8f6388080606aed983b4b3330b36\"\u003e\u003ccode\u003e48c7c29\u003c/code\u003e\u003c/a\u003e chore: bump fastify-plugin from 5.1.0 to 6.0.0 in the dependencies group (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/193\"\u003e#193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastify/fastify-basic-auth/compare/v6.2.0...v6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@fastify/compress` from 9.1.0 to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastify/fastify-compress/releases\"\u003e@​fastify/compress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(.npmrc): add min-release-age by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/419\"\u003efastify/fastify-compress#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: compress small buffered payloads synchronously by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/418\"\u003efastify/fastify-compress#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/lock-threads.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/423\"\u003efastify/fastify-compress#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/plugins-ci.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/422\"\u003efastify/fastify-compress#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: unwrap fetch response before noCompress check for SSE support by \u003ca href=\"https://github.com/priitkaard\"\u003e\u003ccode\u003e@​priitkaard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/421\"\u003efastify/fastify-compress#421\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-compress/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/fastify/fastify-compress/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: pin actions to commit-hash by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/414\"\u003efastify/fastify-compress#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update dependabot.yml by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/415\"\u003efastify/fastify-compress#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump c8 from 11.0.0 to 12.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/417\"\u003efastify/fastify-compress#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump adm-zip from 0.5.18 to 0.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/416\"\u003efastify/fastify-compress#416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve status and headers when compressing a Fetch Response by \u003ca href=\"https://github.com/priitkaard\"\u003e\u003ccode\u003e@​priitkaard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/420\"\u003efastify/fastify-compress#420\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/priitkaard\"\u003e\u003ccode\u003e@​priitkaard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/420\"\u003efastify/fastify-compress#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-compress/compare/v9.1.0...v9.1.1\"\u003ehttps://github.com/fastify/fastify-compress/compare/v9.1.0...v9.1.1\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/fastify/fastify-compress/commit/d5319511abc6fb4eeee311709e3c8f39f291931c\"\u003e\u003ccode\u003ed531951\u003c/code\u003e\u003c/a\u003e Bumped v9.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/bb135f11e61c30bebab5c885ad413a6c714b964a\"\u003e\u003ccode\u003ebb135f1\u003c/code\u003e\u003c/a\u003e fix: unwrap fetch response before noCompress check for SSE support (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/421\"\u003e#421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/13616f9a2d7b79cb40ee2510d6e2163e5c8578a9\"\u003e\u003ccode\u003e13616f9\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/plugins-ci.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/847e9ab2ac6de686a1c1eee18d9f454fd47af982\"\u003e\u003ccode\u003e847e9ab\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/lock-threads.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/423\"\u003e#423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/382485b097f342a68804a84479189210509ce5c5\"\u003e\u003ccode\u003e382485b\u003c/code\u003e\u003c/a\u003e perf: compress small buffered payloads synchronously (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/6c034ecac9cb39a1f8b147a7a0e80255f7014a20\"\u003e\u003ccode\u003e6c034ec\u003c/code\u003e\u003c/a\u003e chore(.npmrc): add min-release-age (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/419\"\u003e#419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/7602400e3f85fffb49a895df733d1a01e5ae48b9\"\u003e\u003ccode\u003e7602400\u003c/code\u003e\u003c/a\u003e Bumped v9.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/a782a78a7d8d95e150fda31c7f4fdeec8d84f875\"\u003e\u003ccode\u003ea782a78\u003c/code\u003e\u003c/a\u003e fix: unwrap fetch response body without losing headers and status (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/646303a1abf2e6cf0f3d381ea56433bc659d342d\"\u003e\u003ccode\u003e646303a\u003c/code\u003e\u003c/a\u003e chore: bump adm-zip from 0.5.18 to 0.6.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/416\"\u003e#416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/4c89887778e5258e7276fbe28362dab059457f50\"\u003e\u003ccode\u003e4c89887\u003c/code\u003e\u003c/a\u003e chore: bump c8 from 11.0.0 to 12.0.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastify/fastify-compress/compare/v9.1.0...v9.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@fastify/helmet` from 13.1.0 to 13.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastify/fastify-helmet/releases\"\u003e@​fastify/helmet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix CSP header order assertions for \u003ca href=\"mailto:helmet@8.3.x\"\u003ehelmet@8.3.x\u003c/a\u003e by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/318\"\u003efastify/fastify-helmet#318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin actions to commit-hash by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/316\"\u003efastify/fastify-helmet#316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump c8 from 11.0.0 to 12.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/317\"\u003efastify/fastify-helmet#317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/lock-threads.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/320\"\u003efastify/fastify-helmet#320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/plugins-ci.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/321\"\u003efastify/fastify-helmet#321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(.npmrc): add min-release-age by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/319\"\u003efastify/fastify-helmet#319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-helmet/compare/v13.1.0...v13.1.1\"\u003ehttps://github.com/fastify/fastify-helmet/compare/v13.1.0...v13.1.1\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/fastify/fastify-helmet/commit/8854d49a25b75d133a9df9ae3bf60fae4dfffb86\"\u003e\u003ccode\u003e8854d49\u003c/code\u003e\u003c/a\u003e Bumped v13.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/c4bbcb2dda6675d634230d657ec56831acd24d9a\"\u003e\u003ccode\u003ec4bbcb2\u003c/code\u003e\u003c/a\u003e chore(.npmrc): add min-release-age (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/8406fa821b420312cbb3e641f8b024e7d42dd926\"\u003e\u003ccode\u003e8406fa8\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/plugins-ci.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/d8da457fae41854aca70180a48293b891ee91365\"\u003e\u003ccode\u003ed8da457\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/lock-threads.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/655cd3a9f4dabfaa8566c03f03319f6a405e9729\"\u003e\u003ccode\u003e655cd3a\u003c/code\u003e\u003c/a\u003e chore: bump c8 from 11.0.0 to 12.0.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/928d9b59b96754000cde860a1026fbe1d23ef560\"\u003e\u003ccode\u003e928d9b5\u003c/code\u003e\u003c/a\u003e ci: pin actions to commit-hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/7c9cda3b5c1ce60c582cd0dd8d3675a5ce340c1d\"\u003e\u003ccode\u003e7c9cda3\u003c/code\u003e\u003c/a\u003e test: fix CSP header order assertions for \u003ca href=\"mailto:helmet@8.3.x\"\u003ehelmet@8.3.x\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastify/fastify-helmet/compare/v13.1.0...v13.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~tony133\"\u003etony133\u003c/a\u003e, a new releaser for \u003ccode\u003e@​fastify/helmet\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/common` from 11.1.28 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.1.0 (2026-09-23)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17838\"\u003e#17838\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17819\"\u003e#17819\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17828\"\u003e#17828\u003c/a\u003e fix(microservices): let the redis client retry after a failed connect (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17810\"\u003e#17810\u003c/a\u003e fix(microservices): fail every pending request when a callback throws (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17846\"\u003e#17846\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17840\"\u003e#17840\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17713\"\u003e#17713\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17834\"\u003e#17834\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17824\"\u003e#17824\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17827\"\u003e#17827\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17835\"\u003e#17835\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17836\"\u003e#17836\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 9\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAbdellatif Anaflous (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChris Z (\u003ca href=\"https://github.com/haimingZZ\"\u003e\u003ccode\u003e@​haimingZZ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJohnny J. Huirilef Millán (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJérémy Fauvel (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicael Levi L. Cavalcante (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRoman Khegay (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eXia Chao (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.4 (2026-09-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17816\"\u003e#17816\u003c/a\u003e fix(microservices): let the kafka client retry after a failed connect (\u003ca href=\"https://github.com/Xch4rt\"\u003e\u003ccode\u003e@​Xch4rt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17786\"\u003e#17786\u003c/a\u003e fix(microservices): fail pending rmq requests on client close (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17802\"\u003e#17802\u003c/a\u003e fix(microservices): fail pending nats requests on client close (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17803\"\u003e#17803\u003c/a\u003e fix(microservices): handle missing grpc package namespace gracefully (\u003ca href=\"https://github.com/Se3do\"\u003e\u003ccode\u003e@​Se3do\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17799\"\u003e#17799\u003c/a\u003e fix(microservices): share the processing hook envelope across transports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17797\"\u003e#17797\u003c/a\u003e fix(microservices): close the kafka request-response span exactly once (\u003ca href=\"https://github.com/MingLin1995\"\u003e\u003ccode\u003e@​MingLin1995\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17794\"\u003e#17794\u003c/a\u003e fix(microservices): close the request-response span exactly once (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17785\"\u003e#17785\u003c/a\u003e fix(microservices): route message handler rejections to handleError (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6739656fa3e8c98bd55883f0363a2254e6412232\"\u003e\u003ccode\u003e6739656\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/40d07dc62ccb41686859b804f8523ae0e2dd1984\"\u003e\u003ccode\u003e40d07dc\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17713\"\u003e#17713\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17845\"\u003e#17845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/bfb0843849ecdd3a5060cb789a1e8df9c42c8667\"\u003e\u003ccode\u003ebfb0843\u003c/code\u003e\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17713\"\u003e#17713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/b2b218687f28f185b97a53be9765d3d12f01754b\"\u003e\u003ccode\u003eb2b2186\u003c/code\u003e\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17827\"\u003e#17827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/58e13ed7aa5ea4e7a7fe2bd8ec0ea55d2073dc27\"\u003e\u003ccode\u003e58e13ed\u003c/code\u003e\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17834\"\u003e#17834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/555c2ce237c820801ce9a6c0e846c25dbd298053\"\u003e\u003ccode\u003e555c2ce\u003c/code\u003e\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2dfba680522ddf74ace234f02b4022782c031a71\"\u003e\u003ccode\u003e2dfba68\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/899dbe3a0c1e59d1d0fb7e0c7ad0b2d2aa4ae771\"\u003e\u003ccode\u003e899dbe3\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/10d745669d0135deb73376de83ce163132855268\"\u003e\u003ccode\u003e10d7456\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency file-type to v22.1.1 (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17793\"\u003e#17793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2ddb8bd9a97d1421c780cb3aff363b864a0135ae\"\u003e\u003ccode\u003e2ddb8bd\u003c/code\u003e\u003c/a\u003e fix(common): mark parse date pipe options as optional (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17780\"\u003e#17780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v12.1.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/core` from 11.1.28 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.1.0 (2026-09-23)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17838\"\u003e#17838\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17819\"\u003e#17819\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17828\"\u003e#17828\u003c/a\u003e fix(microservices): let the redis client retry after a failed connect (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17810\"\u003e#17810\u003c/a\u003e fix(microservices): fail every pending request when a callback throws (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17846\"\u003e#17846\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17840\"\u003e#17840\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17713\"\u003e#17713\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17834\"\u003e#17834\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17824\"\u003e#17824\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17827\"\u003e#17827\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17835\"\u003e#17835\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17836\"\u003e#17836\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 9\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAbdellatif Anaflous (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChris Z (\u003ca href=\"https://github.com/haimingZZ\"\u003e\u003ccode\u003e@​haimingZZ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJohnny J. Huirilef Millán (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJérémy Fauvel (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicael Levi L. Cavalcante (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRoman Khegay (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eXia Chao (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.4 (2026-09-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17816\"\u003e#17816\u003c/a\u003e fix(microservices): let the kafka client retry after a failed connect (\u003ca href=\"https://github.com/Xch4rt\"\u003e\u003ccode\u003e@​Xch4rt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17786\"\u003e#17786\u003c/a\u003e fix(microservices): fail pending rmq requests on client close (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17802\"\u003e#17802\u003c/a\u003e fix(microservices): fail pending nats requests on client close (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17803\"\u003e#17803\u003c/a\u003e fix(microservices): handle missing grpc package namespace gracefully (\u003ca href=\"https://github.com/Se3do\"\u003e\u003ccode\u003e@​Se3do\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17799\"\u003e#17799\u003c/a\u003e fix(microservices): share the processing hook envelope across transports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17797\"\u003e#17797\u003c/a\u003e fix(microservices): close the kafka request-response span exactly once (\u003ca href=\"https://github.com/MingLin1995\"\u003e\u003ccode\u003e@​MingLin1995\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17794\"\u003e#17794\u003c/a\u003e fix(microservices): close the request-response span exactly once (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17785\"\u003e#17785\u003c/a\u003e fix(microservices): route message handler rejections to handleError (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6739656fa3e8c98bd55883f0363a2254e6412232\"\u003e\u003ccode\u003e6739656\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/21648746d9ce499eeca21b86a503749be9172ae3\"\u003e\u003ccode\u003e2164874\u003c/code\u003e\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17846\"\u003e#17846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/40d07dc62ccb41686859b804f8523ae0e2dd1984\"\u003e\u003ccode\u003e40d07dc\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17713\"\u003e#17713\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17845\"\u003e#17845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/bfb0843849ecdd3a5060cb789a1e8df9c42c8667\"\u003e\u003ccode\u003ebfb0843\u003c/code\u003e\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17713\"\u003e#17713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6b429baaf8f4550e8e469d36c162f77ae90a7874\"\u003e\u003ccode\u003e6b429ba\u003c/code\u003e\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17840\"\u003e#17840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ad1889073dab3cdd611ca823ce269deb66cc6787\"\u003e\u003ccode\u003ead18890\u003c/code\u003e\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17838\"\u003e#17838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/fb8e0d65293c03539e811d9dd2d76362bf1a7627\"\u003e\u003ccode\u003efb8e0d6\u003c/code\u003e\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17819\"\u003e#17819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6b282d3e146dc3ce4f4c12197697fdba57c68477\"\u003e\u003ccode\u003e6b282d3\u003c/code\u003e\u003c/a\u003e fix(core): stop the Observable producer when the client disconnects (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17826\"\u003e#17826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/58e13ed7aa5ea4e7a7fe2bd8ec0ea55d2073dc27\"\u003e\u003ccode\u003e58e13ed\u003c/code\u003e\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17834\"\u003e#17834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/555c2ce237c820801ce9a6c0e846c25dbd298053\"\u003e\u003ccode\u003e555c2ce\u003c/code\u003e\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v12.1.0/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/platform-fastify` from 11.1.28 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/platform-fastify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.1.0 (2026-09-23)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17838\"\u003e#17838\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17819\"\u003e#17819\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17828\"\u003e#17828\u003c/a\u003e fix(microservices): let the redis client retry after a failed connect (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17810\"\u003e#17810\u003c/a\u003e fix(microservices): fail every pending request when a callback throws (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17846\"\u003e#17846\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17840\"\u003e#17840\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17713\"\u003e#17713\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17834\"\u003e#17834\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17824\"\u003e#17824\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17827\"\u003e#17827\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17835\"\u003e#17835\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17836\"\u003e#17836\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 9\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAbdellatif Anaflous (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChris Z (\u003ca href=\"https://github.com/haimingZZ\"\u003e\u003ccode\u003e@​haimingZZ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJohnny J. Huirilef Millán (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJérémy Fauvel (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicael Levi L. Cavalcante (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRoman Khegay (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eXia Chao (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.4 (2026-09-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17816\"\u003e#17816\u003c/a\u003e fix(microservices): let the kafka client retry after a failed connect (\u003ca href=\"https://github.com/Xch4rt\"\u003e\u003ccode\u003e@​Xch4rt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17786\"\u003e#17786\u003c/a\u003e fix(microservices): fail pending rmq requests on client close (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17802\"\u003e#17802\u003c/a\u003e fix(microservices): fail pending nats requests on client close (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17803\"\u003e#17803\u003c/a\u003e fix(microservices): handle missing grpc package namespace gracefully (\u003ca href=\"https://github.com/Se3do\"\u003e\u003ccode\u003e@​Se3do\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17799\"\u003e#17799\u003c/a\u003e fix(microservices): share the processing hook envelope across transports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17797\"\u003e#17797\u003c/a\u003e fix(microservices): close the kafka request-response span exactly once (\u003ca href=\"https://github.com/MingLin1995\"\u003e\u003ccode\u003e@​MingLin1995\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17794\"\u003e#17794\u003c/a\u003e fix(microservices): close the request-response span exactly once (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17785\"\u003e#17785\u003c/a\u003e fix(microservices): route message handler rejections to handleError (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6739656fa3e8c98bd55883f0363a2254e6412232\"\u003e\u003ccode\u003e6739656\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ea0d2ccc3e0092a85415f415a19ef440c984a5b0\"\u003e\u003ccode\u003eea0d2cc\u003c/code\u003e\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17824\"\u003e#17824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/d232dda2af136854b0072351e9ad11c001766d65\"\u003e\u003ccode\u003ed232dda\u003c/code\u003e\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/555c2ce237c820801ce9a6c0e846c25dbd298053\"\u003e\u003ccode\u003e555c2ce\u003c/code\u003e\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2dfba680522ddf74ace234f02b4022782c031a71\"\u003e\u003ccode\u003e2dfba68\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/899dbe3a0c1e59d1d0fb7e0c7ad0b2d2aa4ae771\"\u003e\u003ccode\u003e899dbe3\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6ae6b012c3d308ad0007de99da81a10e37c0d6e2\"\u003e\u003ccode\u003e6ae6b01\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency fastify to v5.12.5 (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17791\"\u003e#17791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/14151790e1abe870abc3bbf00f88786fc3ebe509\"\u003e\u003ccode\u003e1415179\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ee168a569d30e600d301ed38abb14d2171a6f315\"\u003e\u003ccode\u003eee168a5\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/e93c8e12b185bfdf9ee0363fbda003fdea753466\"\u003e\u003ccode\u003ee93c8e1\u003c/code\u003e\u003c/a\u003e fix: absolute-form middleware bypass (fastify) and unserializable pattern cra...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v12.1.0/packages/platform-fastify\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/swagger` from 11.4.6 to 12.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/swagger/releases\"\u003e@​nestjs/swagger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(plugin): treat single literal types as enums by \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4097\"\u003enestjs/swagger#4097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency es-toolkit to v1.52.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4081\"\u003enestjs/swagger#4081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(swagger): merge standard schema query params with \u003ca href=\"https://github.com/ApiQuery\"\u003e\u003ccode\u003e@​ApiQuery\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/TadejPolajnar\"\u003e\u003ccode\u003e@​TadejPolajnar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4090\"\u003enestjs/swagger#4090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(plugin): keep the source package specifier for workspace imports by \u003ca href=\"https://github.com/mhalikosen\"\u003e\u003ccode\u003e@​mhalikosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4086\"\u003enestjs/swagger#4086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ccode\u003e@​fastify/static\u003c/code\u003e through a bundler-visible dynamic import by \u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4115\"\u003enestjs/swagger#4115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(standard-schema): promote schema description to parameter object by \u003ca href=\"https://github.com/tjsousa\"\u003e\u003ccode\u003e@​tjsousa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4140\"\u003enestjs/swagger#4140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: declare typescript as an optional peer dependency by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4134\"\u003enestjs/swagger#4134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency swagger-ui-dist to v5.33.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4128\"\u003enestjs/swagger#4128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency \u003ccode\u003e@​microsoft/tsdoc\u003c/code\u003e to v0.17.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4124\"\u003enestjs/swagger#4124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support the HTTP QUERY method (RFC 10008) by \u003ca href=\"https://github.com/gentritabazi\"\u003e\u003ccode\u003e@​gentritabazi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4007\"\u003enestjs/swagger#4007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(swagger-ui): preserve $ characters when building swagger-ui-init.js by \u003ca href=\"https://github.com/csulit\"\u003e\u003ccode\u003e@​csulit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4119\"\u003enestjs/swagger#4119\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/mhalikosen\"\u003e\u003ccode\u003e@​mhalikosen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4087\"\u003enestjs/swagger#4087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TadejPolajnar\"\u003e\u003ccode\u003e@​TadejPolajnar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4090\"\u003enestjs/swagger#4090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tjsousa\"\u003e\u003ccode\u003e@​tjsousa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4140\"\u003enestjs/swagger#4140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4134\"\u003enestjs/swagger#4134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gentritabazi\"\u003e\u003ccode\u003e@​gentritabazi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4007\"\u003enestjs/swagger#4007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/csulit\"\u003e\u003ccode\u003e@​csulit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4119\"\u003enestjs/swagger#4119\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nestjs/swagger/compare/12.0.1...12.0.2\"\u003ehttps://github.com/nestjs/swagger/compare/12.0.1...12.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 12.0.1\u003c/h2\u003e\n\u003ch2\u003e12.0.1 (2026-08-28)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4082\"\u003e#4082\u003c/a\u003e fix: esm hoist static imports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4077\"\u003e#4077\u003c/a\u003e chore(deps): update dependency swagger-ui-dist to v5.32.14 (\u003ca href=\"https://github.com/apps/renovate\"\u003e\u003ccode\u003e@​renovate[bot]\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 12.0.0\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003cp\u003e\u003ccode\u003e@nestjs/swagger\u003c/code\u003e is now a \u003cstrong\u003enative ES module\u003c/strong\u003e, requires Nest 12, and changes how nullable schemas are spelled in the generated document.\u003c/p\u003e\n\u003ch2\u003eESM migration\u003c/h2\u003e\n\u003cp\u003eThe package is published as pure ESM (\u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;module\u0026quot;\u003c/code\u003e, compiled with NodeNext) behind a proper exports map. The legacy root \u003ccode\u003eindex.ts\u003c/code\u003e / \u003ccode\u003eplugin.js\u003c/code\u003e / \u003ccode\u003eplugin.ts\u003c/code\u003e shims are gone, and deep imports into build internals are no longer resolvable — import from the package root (\u003ccode\u003e@nestjs/swagger\u003c/code\u003e) or from \u003ccode\u003e@nestjs/swagger/plugin\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003erequire(esm) — CommonJS still works\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eYou do not need to convert your app to ESM.\u003c/strong\u003e Thanks to Node's \u003ccode\u003erequire(esm)\u003c/code\u003e support, a CommonJS app can keep doing \u003ccode\u003econst { SwaggerModule } = require('@nestjs/swagger')\u003c/code\u003e. The CLI plugin entry (\u003ccode\u003e@nestjs/swagger/plugin\u003c/code\u003e) also keeps a \u003ccode\u003erequire\u003c/code\u003e condition so \u003ccode\u003enest-cli.json\u003c/code\u003e setups load it unchanged.\u003c/p\u003e\n\u003cp\u003eThis is why the package now declares \u003ccode\u003e\u0026quot;engines\u0026quot;: { \u0026quot;node\u0026quot;: \u0026quot;^20.19.0 || \u0026gt;=22.12.0\u0026quot; }\u003c/code\u003e — those are the Node versions where \u003ccode\u003erequire(esm)\u003c/code\u003e is available without a flag.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/8f00eb9ca4bda26e7241adaa0908a7e14bdca457\"\u003e\u003ccode\u003e8f00eb9\u003c/code\u003e\u003c/a\u003e chore(): release v12.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/bfb231558d0813121da33bd9d4d23678d64a8696\"\u003e\u003ccode\u003ebfb2315\u003c/code\u003e\u003c/a\u003e fix(swagger-ui): preserve $ characters when building swagger-ui-init.js (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4119\"\u003e#4119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/2bea96aab1594041cececdd6e42bf0cb50ea1322\"\u003e\u003ccode\u003e2bea96a\u003c/code\u003e\u003c/a\u003e feat: support the HTTP QUERY method (RFC 10008) (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/752e5c7530386ccd305be83ea9e98e0ae57136a7\"\u003e\u003ccode\u003e752e5c7\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency supertest to v7.3.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/4faed70bf9e168b2e762e30c760c646d15cd2dbe\"\u003e\u003ccode\u003e4faed70\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency \u003ccode\u003e@​microsoft/tsdoc\u003c/code\u003e to v0.17.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4124\"\u003e#4124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/d0e797607956061e9e960a88ae1edc872429fdc2\"\u003e\u003ccode\u003ed0e7976\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency swagger-ui-dist to v5.33.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4128\"\u003e#4128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/abce2beec990b00b91e5cc3ea0fcf4429427a86e\"\u003e\u003ccode\u003eabce2be\u003c/code\u003e\u003c/a\u003e fix: declare typescript as an optional peer dependency (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4134\"\u003e#4134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/234c20c87a48cc5c01cca9fed48d74cf240f0ab0\"\u003e\u003ccode\u003e234c20c\u003c/code\u003e\u003c/a\u003e fix(standard-schema): promote schema description to parameter object (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4140\"\u003e#4140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/9652868bc659e0f3ac9c7ad73d2aa50842d90e4d\"\u003e\u003ccode\u003e9652868\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency oxlint to v1.85.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4141\"\u003e#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/92ee181f2772aeb4b31c04b10ea7003ce0a61bdf\"\u003e\u003ccode\u003e92ee181\u003c/code\u003e\u003c/a\u003e chore(deps): update nest monorepo to v12.0.4 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4138\"\u003e#4138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/swagger/compare/11.4.6...12.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/terminus` from 11.1.1 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/terminus/releases\"\u003e@​nestjs/terminus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 12.1.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0...12.1.0\"\u003e12.1.0\u003c/a\u003e (2026-09-20)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ememory leak in \u003ccode\u003eattempt().withTimeout()\u003c/code\u003e caused by \u003ccode\u003eAbortSignal.any()\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/terminus/commit/7843ef3563f32b45e76375b2f38cda10c46bb4a9\"\u003e7843ef3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2767\"\u003e#2767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp:\u003c/strong\u003e accept URL object in HttpHealthIndicator.pingCheck (\u003ca href=\"https://github.com/nestjs/terminus/commit/7bc43cd196f36c091b353e7358debbe714431f11\"\u003e7bc43cd\u003c/a\u003e), \u003ca href=\"https://github.com/Asadshah7950\"\u003e\u003ccode\u003e@​Asadshah7950\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 12.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/11.1.1...12.0.0\"\u003e12.0.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclose the microservice client when the ping fails (\u003ca href=\"https://github.com/nestjs/terminus/commit/8826bc61624b229e4cb3c011b9a4e8fea5ee3611\"\u003e8826bc6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehttp:\u003c/strong\u003e create a dedicated HttpService instead of resolving from DI (\u003ca href=\"https://github.com/nestjs/terminus/commit/163bfefeeb3e1dae301b2507082cc5cc6122172f\"\u003e163bfef\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2667\"\u003e#2667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emicroservice:\u003c/strong\u003e stop RMQ pingCheck from asserting a queue per probe (\u003ca href=\"https://github.com/nestjs/terminus/commit/9afc532a615bac192bc1cf82017505dae33bbb1d\"\u003e9afc532\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2680\"\u003e#2680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emongoose:\u003c/strong\u003e ping the database instead of checking readyState (\u003ca href=\"https://github.com/nestjs/terminus/commit/e1c64867d19c2419883fa19261cae9b063c7a7b8\"\u003ee1c6486\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2661\"\u003e#2661\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eset \u003ccode\u003eshutting_down\u003c/code\u003e before awaiting the graceful shutdown timeout (\u003ca href=\"https://github.com/nestjs/terminus/commit/1615c29a2a73d22244e47b25e0f8d66fb8599294\"\u003e1615c29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eship the package as ESM (\u003ca href=\"https://github.com/nestjs/terminus/commit/fae66631fac84d7dd34865fd90724d2a25cfb8bf\"\u003efae6663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eattempt()\u003c/code\u003e function (\u003ca href=\"https://github.com/nestjs/terminus/commit/ef9ab99cbe9b529891cc04f81222d6dd889c95e9\"\u003eef9ab99\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003edegraded\u003c/code\u003e status for health indicator (\u003ca href=\"https://github.com/nestjs/terminus/commit/1cfb8afb04fcc7a8ffe48e431242f351f3fcfb7d\"\u003e1cfb8af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eresponseTime\u003c/code\u003e to the \u003ccode\u003eHealthCheckResult\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/terminus/commit/a0434aed8f95e38cadd9e0c34dbe7412aa66e298\"\u003ea0434ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@nestjs/terminus\u003c/code\u003e no longer has runtime dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ethe package is now ESM-only and requires Node \u003ccode\u003e^20.19.0 || ^22.12.0 || \u0026gt;=24.0.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ethe deprecated \u003ccode\u003eHealthIndicator\u003c/code\u003e base class and its \u003ccode\u003egetStatus()\u003c/code\u003e have been\nremoved. Migrate custom indicators to \u003ccode\u003eHealthIndicatorService\u003c/code\u003e:\n\u003ccode\u003esuper.getStatus(key, isHealthy, data)\u003c/code\u003e becomes\n\u003ccode\u003ethis.healthIndicatorService.check(key).up(data)\u003c/code\u003e / \u003ccode\u003e.down(data)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ethe deprecated error classes are no longer exported: \u003ccode\u003eHealthCheckError\u003c/code\u003e,\n\u003ccode\u003eConnectionNotFoundError\u003c/code\u003e, \u003ccode\u003eTimeoutError\u003c/code\u003e, \u003ccode\u003eStorageExceededError\u003c/code\u003e,\n\u003ccode\u003eUnhealthyResponseCodeError\u003c/code\u003e, \u003ccode\u003eMongoConnectionError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ethrowing inside a health indicator no longer produces a 503. In v11, a thrown\n\u003ccode\u003eHealthCheckError\u003c/code\u003e was unwrapped into the health check result; now any thrown\nerror is treated as an unexpected failure (500) and only a returned \u003ccode\u003edown\u003c/code\u003e\nresult marks the check unhealthy (503).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 12.0.0-next.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0-next.0...12.0.0-next.1\"\u003e12.0.0-next.1\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003c!-- 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/nestjs/terminus/blob/master/CHANGELOG.md\"\u003e@​nestjs/terminus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0...12.1.0\"\u003e12.1.0\u003c/a\u003e (2026-09-20)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ememory leak in \u003ccode\u003eattempt().withTimeout()\u003c/code\u003e caused by \u003ccode\u003eAbortSignal.any()\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/terminus/commit/7843ef3563f32b45e76375b2f38cda10c46bb4a9\"\u003e7843ef3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2767\"\u003e#2767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp:\u003c/strong\u003e accept URL object in HttpHealthIndicator.pingCheck (\u003ca href=\"https://github.com/nestjs/terminus/commit/7bc43cd196f36c091b353e7358debbe714431f11\"\u003e7bc43cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0-next.1...12.0.0\"\u003e12.0.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0-next.0...12.0.0-next.1\"\u003e12.0.0-next.1\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd .cacheFor() builder (\u003ca href=\"https://github.com/nestjs/terminus/commit/ba59644ddfb0d49939490e34d7c5f06e314ad75b\"\u003eba59644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003edegraded\u003c/code\u003e status for health indicator (\u003ca href=\"https://github.com/nestjs/terminus/commit/1cfb8afb04fcc7a8ffe48e431242f351f3fcfb7d\"\u003e1cfb8af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd responseTime to the HealthCheckResponse (\u003ca href=\"https://github.com/nestjs/terminus/commit/a0434aed8f95e38cadd9e0c34dbe7412aa66e298\"\u003ea0434ae\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/11.1.1...12.0.0-next.0\"\u003e12.0.0-next.0\u003c/a\u003e (2026-08-30)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclose the microservice client when the ping fails (\u003ca href=\"https://github.com/nestjs/terminus/commit/8826bc61624b229e4cb3c011b9a4e8fea5ee3611\"\u003e8826...\n\n_Description has been truncated_","html_url":"https://github.com/gravinawill/ruguin/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravinawill%2Fruguin/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}],"issue_packages":[{"old_version":"18.4.0","new_version":"18.4.1","update_type":"patch","path":null,"pr_created_at":"2026-10-23T03:15:57.000Z","version_change":"18.4.0 → 18.4.1","issue":{"uuid":"5991233776","node_id":"PR_kwDOS0vve88AAAABKKsvLg","number":338,"state":"open","title":"chore(deps-dev): bump the npm-development group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-23T03:15:57.000Z","updated_at":"2026-10-23T03:19:14.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"npm-development","update_count":15,"packages":[{"name":"@aws/durable-execution-sdk-js","old_version":"2.3.1","new_version":"2.7.0","repository_url":"https://github.com/aws/aws-durable-execution-sdk-js"},{"name":"@aws/durable-execution-sdk-js-testing","old_version":"1.3.0","new_version":"1.3.1","repository_url":"https://github.com/aws/aws-durable-execution-sdk-js"},{"name":"@babel/core","old_version":"8.0.6","new_version":"8.0.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-env","old_version":"8.0.6","new_version":"8.0.7","repository_url":"https://github.com/babel/babel"},{"name":"@babel/preset-typescript","old_version":"8.0.1","new_version":"8.0.7","repository_url":"https://github.com/babel/babel"},{"name":"@next/eslint-plugin-next","old_version":"16.3.8","new_version":"16.4.2","repository_url":"https://github.com/vercel/next.js"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.71.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.71.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.11.0","new_version":"10.13.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-jest","old_version":"29.16.6","new_version":"29.17.0","repository_url":"https://github.com/jest-community/eslint-plugin-jest"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.39.0","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"prettier","old_version":"3.9.9","new_version":"3.9.10","repository_url":"https://github.com/prettier/prettier"},{"name":"rollup","old_version":"4.64.0","new_version":"4.64.9","repository_url":"https://github.com/rollup/rollup"},{"name":"postcss","old_version":"8.5.28","new_version":"8.5.30","repository_url":"https://github.com/postcss/postcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-development group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@aws/durable-execution-sdk-js](https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js) | `2.3.1` | `2.7.0` |\n| [@aws/durable-execution-sdk-js-testing](https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js-testing) | `1.3.0` | `1.3.1` |\n| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `8.0.6` | `8.0.7` |\n| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `8.0.6` | `8.0.7` |\n| [@babel/preset-typescript](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript) | `8.0.1` | `8.0.7` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.3.8` | `16.4.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.71.0` | `8.71.2` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.71.0` | `8.71.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.13.0` |\n| [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.16.6` | `29.17.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.39.0` | `6.41.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.9` | `3.9.10` |\n| [rollup](https://github.com/rollup/rollup) | `4.64.0` | `4.64.9` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.28` | `8.5.30` |\n\n\nUpdates `@aws/durable-execution-sdk-js` from 2.3.1 to 2.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/releases\"\u003e@​aws/durable-execution-sdk-js's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003esdk-2.7.0 / otel-1.2.0 / test-1.3.1\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003ePackage\u003c/th\u003e\n\u003cth\u003ePublished version\u003c/th\u003e\n\u003cth\u003ePrepared version\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@aws/durable-execution-sdk-js\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e2.6.0\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e2.7.0\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@aws/durable-execution-sdk-js-otel\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e1.1.0\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e1.2.0\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@aws/durable-execution-sdk-js-testing\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e1.3.0\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e1.3.1\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eThese versions are already on main through \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e. Use the exact \u003ccode\u003esdk-2.7.0\u003c/code\u003e tag for Lambda managed-runtime rollout. Package changes have separate timelines below.\u003c/p\u003e\n\u003ch1\u003e\u003ccode\u003e@​aws/durable-execution-sdk-js\u003c/code\u003e\u003c/h1\u003e\n\u003ch2\u003eWhy Upgrade\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eGet consistent \u003ccode\u003ewaitForCondition\u003c/code\u003e state and results across initial execution and replay, including with custom serializers and wait strategies that mutate their input.\u003c/li\u003e\n\u003cli\u003eKeep successful \u003ccode\u003eundefined\u003c/code\u003e results from \u003ccode\u003emap\u003c/code\u003e and \u003ccode\u003eparallel\u003c/code\u003e, so batch result lists remain consistent with success counts.\u003c/li\u003e\n\u003cli\u003eImprove instrumentation accuracy with fresh completion IDs in local/custom-client invocations and clear diagnostics for conflicting OTel registrations.\u003c/li\u003e\n\u003cli\u003eEnable optional trace metadata for each new durable invoke checkpoint, without changing the application payload, using the updated Lambda client support.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(sdk): preserve \u003ccode\u003eUpdatedOperationIds\u003c/code\u003e in local/custom-client invocation inputs so instrumentation can distinguish fresh external completions from replay, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/954\"\u003e#954\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(sdk): reject competing execution and invocation OTel views across supported registration paths, with diagnostics identifying the conflict, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(sdk): round-trip \u003ccode\u003ewaitForCondition\u003c/code\u003e initial state through the configured serializer before the first check, and deserialize the checkpointed success payload before returning it. Initial execution and replay now agree even when a wait strategy mutates its input, by \u003ca href=\"https://github.com/musatoktas\"\u003e\u003ccode\u003e@​musatoktas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/974\"\u003e#974\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(sdk): preserve successful \u003ccode\u003emap\u003c/code\u003e/\u003ccode\u003eparallel\u003c/code\u003e branches returning \u003ccode\u003eundefined\u003c/code\u003e in \u003ccode\u003eBatchResult.succeeded()\u003c/code\u003e and \u003ccode\u003egetResults()\u003c/code\u003e, including mock results and replay, by \u003ca href=\"https://github.com/shin4141\"\u003e\u003ccode\u003e@​shin4141\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/982\"\u003e#982\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efeat(sdk): collect optional plugin trace metadata for new \u003ccode\u003econtext.invoke()\u003c/code\u003e START checkpoints and serialize the X-Ray header in \u003ccode\u003eChainedInvokeOptions.XAmznTraceId\u003c/code\u003e. Existing checkpointed STARTs retain their replay behavior. The Lambda client dependency is now \u003ccode\u003e^3.1152.0\u003c/code\u003e, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/957\"\u003e#957\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003echore(deps): refresh SDK dependencies and build tooling, by \u003ca href=\"https://github.com/ParidelPooya\"\u003e\u003ccode\u003e@​ParidelPooya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/985\"\u003e#985\u003c/a\u003e and \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/992\"\u003e#992\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSerializer behavior:\u003c/strong\u003e \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/974\"\u003e#974\u003c/a\u003e adds a serialize/deserialize round-trip for \u003ccode\u003einitialState\u003c/code\u003e and an additional deserialization on success. Invalid initial state is rejected before the first condition check.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog (reviewed main)\u003c/strong\u003e: \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/compare/sdk-2.6.0%2Ftest-1.3.0...911b7f0eee6d6322d47a0b4716b758555d404b15\"\u003esdk-2.6.0/test-1.3.0...911b7f0e\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ccode\u003e@​aws/durable-execution-sdk-js-otel\u003c/code\u003e\u003c/h1\u003e\n\u003ch2\u003eWhy Upgrade\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFollow workflows across suspension and resume with polling continuation links, invocation timestamps aligned with application instrumentation, and earlier execution-root export for eligible fallback traces.\u003c/li\u003e\n\u003cli\u003eSee fresh wait, invoke, and callback completions while reducing duplicate terminal spans on successful replays.\u003c/li\u003e\n\u003cli\u003eSupply calling-operation identity and sampling decisions, including \u003ccode\u003eSampled=0\u003c/code\u003e, in optional chained-invoke metadata when used with core 2.7.0 and a compatible tracer.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(otel): export an SDK-owned synthetic execution root for fallback traces, by \u003ca href=\"https://github.com/blackmore-technology-group\"\u003e\u003ccode\u003e@​blackmore-technology-group\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/935\"\u003e#935\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): declare mutually exclusive execution/invocation views while preserving provider API version 1, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): align invocation-view span timestamps with the user instrumentation clock, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/962\"\u003e#962\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): link resumed polling operation segments to their initial operation and Workflow; keep each polling attempt under its operation parent with a Workflow link, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/964\"\u003e#964\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): export the stable synthetic root at the start of each eligible sampled fallback invocation, including invocations that later suspend. Emit at most one copy per invocation; identical copies on retries and resumes can recover an earlier lost export, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/966\"\u003e#966\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efix(otel): retain fresh completion notifications from invocation inputs and checkpoint responses, export wait/invoke/callback completions, and suppress duplicate terminal spans on later successful replays. Drain remaining notifications at invocation end, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/953\"\u003e#953\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003efeat(otel): supply chained-invoke \u003ccode\u003eRoot\u003c/code\u003e/\u003ccode\u003eParent\u003c/code\u003e/\u003ccode\u003eSampled\u003c/code\u003e metadata from the resolved execution trace and calling operation, including \u003ccode\u003eSampled=0\u003c/code\u003e, without creating additional spans. Omit this metadata when the durable sampler bridge cannot be verified, by \u003ca href=\"https://github.com/zhongkechen\"\u003e\u003ccode\u003e@​zhongkechen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/957\"\u003e#957\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003echore(deps): update build and test dependencies, including property-based test tooling, while retaining the existing runtime peer ranges, by \u003ca href=\"https://github.com/ParidelPooya\"\u003e\u003ccode\u003e@​ParidelPooya\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/985\"\u003e#985\u003c/a\u003e and \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/992\"\u003e#992\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/blob/main/CHANGELOG.md\"\u003e@​aws/durable-execution-sdk-js's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to the AWS Durable Execution SDK for JavaScript are documented in this file.\u003c/p\u003e\n\u003cp\u003eThe format is based on \u003ca href=\"https://keepachangelog.com/en/1.1.0/\"\u003eKeep a Changelog\u003c/a\u003e,\nand this project adheres to \u003ca href=\"https://semver.org/spec/v2.0.0.html\"\u003eSemantic Versioning\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eCheckpoint-derived \u003ccode\u003eOperationInfo.error\u003c/code\u003e can be absent when a failed callback\nor invoke has missing wire error data or no defined diagnostic values.\nInstrumentation should use\n\u003ccode\u003estatus\u003c/code\u003e to identify failure and \u003ccode\u003eerror\u003c/code\u003e for available exception details.\nCaller-facing callback and invoke failures are unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe testing SDK's local checkpoint server now validates checkpoints as the service does. Before,\nit accepted some updates that the service rejects, and it rejected others with different\nmessages. So a test could pass locally for a handler that fails in AWS. The changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe model checks now cover \u003ccode\u003eId\u003c/code\u003e, \u003ccode\u003eParentId\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, \u003ccode\u003eType\u003c/code\u003e, and \u003ccode\u003eAction\u003c/code\u003e, as well as\n\u003ccode\u003eSubType\u003c/code\u003e. \u003ccode\u003eId\u003c/code\u003e and \u003ccode\u003eParentId\u003c/code\u003e must have 1 to 64 characters from \u003ccode\u003e[a-zA-Z0-9-_]\u003c/code\u003e. \u003ccode\u003eName\u003c/code\u003e must\nhave 1 to 256 printable ASCII characters. \u003ccode\u003eId\u003c/code\u003e, \u003ccode\u003eType\u003c/code\u003e, and \u003ccode\u003eAction\u003c/code\u003e are required. An invalid\nmember rejects the whole request with HTTP 400 \u003ccode\u003eValidationException\u003c/code\u003e, with the service's\nmessage. The message lists at most 10 errors, as the service's does.\u003c/li\u003e\n\u003cli\u003eThe model checks also cover the options. \u003ccode\u003eChainedInvokeOptions.FunctionName\u003c/code\u003e is required, and\nmust be a Lambda function name, a qualified name, or a function ARN of at most 256 characters.\n\u003ccode\u003eWaitOptions.WaitSeconds\u003c/code\u003e and \u003ccode\u003eStepOptions.NextAttemptDelaySeconds\u003c/code\u003e must be from 1 to\n31622400. The \u003ccode\u003eCallbackOptions\u003c/code\u003e timeouts must be from 0 to 99999999.\u003c/li\u003e\n\u003cli\u003eA member of the wrong JSON type rejects the request with HTTP 400 \u003ccode\u003eSerializationException\u003c/code\u003e,\nwith the service's message. The check covers every member of \u003ccode\u003eOperationUpdate\u003c/code\u003e, including\n\u003ccode\u003ePayload\u003c/code\u003e, the \u003ccode\u003eError\u003c/code\u003e members, and \u003ccode\u003eContextOptions.ReplayChildren\u003c/code\u003e. For example, a step that\nthrows \u003ccode\u003e{ name: \u0026quot;X\u0026quot;, message: 1 }\u003c/code\u003e now fails the checkpoint, as it does in AWS. The service\nreads an integer member without its fractional part. So \u003ccode\u003eWaitSeconds: 1.5\u003c/code\u003e is accepted as 1,\nand \u003ccode\u003eWaitSeconds: 0.5\u003c/code\u003e is rejected as 0. The local server also stores and schedules that\ninteger, as the service applies it. So \u003ccode\u003econtext.wait({ seconds: 1.5 })\u003c/code\u003e waits and records 1\nsecond.\u003c/li\u003e\n\u003cli\u003eA callback timeout or heartbeat timeout of 0 means no timeout, as it does in the service. The\nlocal server timed the callback out at once.\u003c/li\u003e\n\u003cli\u003eAn update for an existing operation must not change its \u003ccode\u003eType\u003c/code\u003e, \u003ccode\u003eSubType\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, or\n\u003ccode\u003eParentId\u003c/code\u003e. A different value usually means that the handler is not deterministic.\u003c/li\u003e\n\u003cli\u003eThe error object limit is 262144 bytes, the service's limit. It was 32768 bytes.\u003c/li\u003e\n\u003cli\u003ePayloads now have the service's limits: 262144 bytes for STEP and CONTEXT output, 1048576\nbytes for CHAINED_INVOKE input, and 6291456 bytes for EXECUTION output. So a handler result\nover 6291456 bytes now fails the checkpoint, as it does in AWS.\u003c/li\u003e\n\u003cli\u003eA CALLBACK and a CHAINED_INVOKE accept only \u003ccode\u003eSTART\u003c/code\u003e. The local server accepted \u003ccode\u003eCANCEL\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eA WAIT \u003ccode\u003eSTART\u003c/code\u003e requires \u003ccode\u003eWaitOptions\u003c/code\u003e. A CHAINED_INVOKE \u003ccode\u003eSTART\u003c/code\u003e requires\n\u003ccode\u003eChainedInvokeOptions\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe error messages are the service's. For example, \u0026quot;Cannot start a WAIT that already exists.\u0026quot;\nis now \u0026quot;Cannot start a WAIT operation that already exists.\u0026quot;. A test that matches the old\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/da52932eebaf9c416485bc4e4d01f3c136ae0de2\"\u003e\u003ccode\u003eda52932\u003c/code\u003e\u003c/a\u003e feat(sdk): propagate chained invoke trace context in START checkpoints (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/957\"\u003e#957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/6e62276b349841e94cb9a0354c89e7d573519e57\"\u003e\u003ccode\u003e6e62276\u003c/code\u003e\u003c/a\u003e fix(sdk): preserve undefined successful batch results (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/982\"\u003e#982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/89011d8369d00ba0f6ddb49d850f73d1e864d96d\"\u003e\u003ccode\u003e89011d8\u003c/code\u003e\u003c/a\u003e chore(deps): update in-range dependencies and dev-only majors (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/992\"\u003e#992\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/2a7240b246bc358e2861f7f4e9115c65e89ec5c9\"\u003e\u003ccode\u003e2a7240b\u003c/code\u003e\u003c/a\u003e fix(sdk): round-trip waitForCondition state through serdes consistently (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/974\"\u003e#974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/d45200ad4cd908e4380d2ecd0d53990daab06431\"\u003e\u003ccode\u003ed45200a\u003c/code\u003e\u003c/a\u003e chore(deps): update dependencies and upgrade Electron to 44 (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/985\"\u003e#985\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/19ee19fa0619093943f079b69943f7b5cdee7ac7\"\u003e\u003ccode\u003e19ee19f\u003c/code\u003e\u003c/a\u003e fix(sdk): reject competing durable OTel views (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/956\"\u003e#956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/7de88e9c9ef4a9bb0c13a5cae7b6270119276e60\"\u003e\u003ccode\u003e7de88e9\u003c/code\u003e\u003c/a\u003e fix(sdk): preserve updated operation IDs in local invocation inputs (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/954\"\u003e#954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/cc7db9bacb23278c58aecf16821737ba47797152\"\u003e\u003ccode\u003ecc7db9b\u003c/code\u003e\u003c/a\u003e feat(extras): add microvm and microvmSession, and the microvm-worker package ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/2d285ddb54d07be3dcbdc09f7fd1696aece67659\"\u003e\u003ccode\u003e2d285dd\u003c/code\u003e\u003c/a\u003e chore: bump SDK to 2.6.0 and testing SDK to 1.3.0 (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/944\"\u003e#944\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commit/bfbb07fe67240f51e646c1f30dc230538344c1e6\"\u003e\u003ccode\u003ebfbb07f\u003c/code\u003e\u003c/a\u003e feat(sdk): add subType to step and createCallback (\u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/tree/HEAD/packages/aws-durable-execution-sdk-js/issues/939\"\u003e#939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commits/sdk-2.7.0/packages/aws-durable-execution-sdk-js\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws/durable-execution-sdk-js-testing` from 1.3.0 to 1.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aws/aws-durable-execution-sdk-js/commits/HEAD/packages/aws-durable-execution-sdk-js-testing\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/core` from 8.0.6 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 11\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBruno \u0026quot;Borta\u0026quot; Bortagaray (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCINC05 (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoelle Mahfoud (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJulien Pradelle (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKevin Deng (\u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSamual Norman (\u003ca href=\"https://github.com/samualtnorman\"\u003e\u003ccode\u003e@​samualtnorman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehoobnn (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/babel/babel/blob/main/CHANGELOG.md\"\u003e@​babel/core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\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\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/1fc00736614159e3b236b9958771f482899853f0\"\u003e\u003ccode\u003e1fc0073\u003c/code\u003e\u003c/a\u003e v8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/d23b2fd8d5610ddc0bfcabc3eec7bd823c95747b\"\u003e\u003ccode\u003ed23b2fd\u003c/code\u003e\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18254\"\u003e#18254\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/fd665901dece022a0eda2ae7adda03bc9baabd5e\"\u003e\u003ccode\u003efd66590\u003c/code\u003e\u003c/a\u003e chore: upgrade verkit to v0.5.0 and obug to v3.0.0 (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/18248\"\u003e#18248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v8.0.7/packages/babel-core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-env` from 8.0.6 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-env's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 11\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBruno \u0026quot;Borta\u0026quot; Bortagaray (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCINC05 (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoelle Mahfoud (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJulien Pradelle (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKevin Deng (\u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSamual Norman (\u003ca href=\"https://github.com/samualtnorman\"\u003e\u003ccode\u003e@​samualtnorman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehoobnn (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/babel/babel/blob/main/CHANGELOG.md\"\u003e@​babel/preset-env's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\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\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/1fc00736614159e3b236b9958771f482899853f0\"\u003e\u003ccode\u003e1fc0073\u003c/code\u003e\u003c/a\u003e v8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/2dd0e6e0b91c7a12c6549ac1679ee84f4707850a\"\u003e\u003ccode\u003e2dd0e6e\u003c/code\u003e\u003c/a\u003e Bump regexpu-core to 6.5.3 (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/18295\"\u003e#18295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/fd665901dece022a0eda2ae7adda03bc9baabd5e\"\u003e\u003ccode\u003efd66590\u003c/code\u003e\u003c/a\u003e chore: upgrade verkit to v0.5.0 and obug to v3.0.0 (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/18248\"\u003e#18248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v8.0.7/packages/babel-preset-env\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@babel/preset-typescript` from 8.0.1 to 8.0.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e@​babel/preset-typescript's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e for your first PRs!\u003c/p\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 11\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eBabel Bot (\u003ca href=\"https://github.com/babel-bot\"\u003e\u003ccode\u003e@​babel-bot\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBruno \u0026quot;Borta\u0026quot; Bortagaray (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCINC05 (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJoelle Mahfoud (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJulien Pradelle (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKevin Deng (\u003ca href=\"https://github.com/sxzz\"\u003e\u003ccode\u003e@​sxzz\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNicolò Ribaudo (\u003ca href=\"https://github.com/nicolo-ribaudo\"\u003e\u003ccode\u003e@​nicolo-ribaudo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSamual Norman (\u003ca href=\"https://github.com/samualtnorman\"\u003e\u003ccode\u003e@​samualtnorman\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ehoobnn (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.0.6 (2026-09-18)\u003c/h2\u003e\n\u003cp\u003eThanks \u003ca href=\"https://github.com/robhogan\"\u003e\u003ccode\u003e@​robhogan\u003c/code\u003e\u003c/a\u003e for your first PR!\u003c/p\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-validator-identifier\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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@​babel/preset-typescript's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.7 (2026-10-07)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-regexp-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-dotall-regex\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-unicode-sets-regex\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/18295\"\u003e#18295\u003c/a\u003e Bump regexpu-core to 6.5.3 (\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-plugin-transform-for-of\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18292\"\u003e#18292\u003c/a\u003e Skip \u003ccode\u003efor await\u003c/code\u003e in \u003ccode\u003etransform-for-of\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18283\"\u003e#18283\u003c/a\u003e Fix \u003ccode\u003easyncIterator\u003c/code\u003e helper forwarding \u003ccode\u003e.throw()\u003c/code\u003e to \u003ccode\u003e.return()\u003c/code\u003e (\u003ca href=\"https://github.com/brunoborta\"\u003e\u003ccode\u003e@​brunoborta\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/18288\"\u003e#18288\u003c/a\u003e fix(parser): allow await as a function expression name inside async arrow (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-class-properties\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-systemjs\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/18284\"\u003e#18284\u003c/a\u003e Guard \u003ccode\u003e@@toPrimitive\u003c/code\u003e usage in toPrimitive helper (\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-plugin-transform-block-scoping\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18195\"\u003e#18195\u003c/a\u003e fix: closures in for-loop init capture wrong binding (\u003ca href=\"https://github.com/joelle-a-dev\"\u003e\u003ccode\u003e@​joelle-a-dev\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-private-property-in-object\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18265\"\u003e#18265\u003c/a\u003e Return false for \u003ccode\u003e#x in\u003c/code\u003e on static private fields before initialization (\u003ca href=\"https://github.com/hoobnn\"\u003e\u003ccode\u003e@​hoobnn\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/18151\"\u003e#18151\u003c/a\u003e Evaluate TypeScript expression wrappers in \u003ccode\u003eNodePath#evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/CINC0S\"\u003e\u003ccode\u003e@​CINC0S\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18250\"\u003e#18250\u003c/a\u003e fix(traverse): do not evaluate destructured bindings in \u003ccode\u003epath.evaluate\u003c/code\u003e (\u003ca href=\"https://github.com/wulu007\"\u003e\u003ccode\u003e@​wulu007\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOther\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18257\"\u003e#18257\u003c/a\u003e Fix eslint-parser AST definition of AccessorProperty (\u003ca href=\"https://github.com/jpradelle\"\u003e\u003ccode\u003e@​jpradelle\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18254\"\u003e#18254\u003c/a\u003e fix(core): createConfigItem allows cb as 2nd arg (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-modules-commonjs\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/18255\"\u003e#18255\u003c/a\u003e Simplify \u003ccode\u003einteropRequireWildcard\u003c/code\u003e helper (\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\u003ch2\u003ev8.0.6 (2026-09-18)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-validator-identifier\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18237\"\u003e#18237\u003c/a\u003e Update identifier definition to Unicode 18 (\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-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18240\"\u003e#18240\u003c/a\u003e Fix parsing of arrow function params inside ternaries with Flow (\u003ca href=\"https://github.com/robhogan\"\u003e\u003ccode\u003e@​robhogan\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-helper-string-parser\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18239\"\u003e#18239\u003c/a\u003e fix: polish error message for invalid binary 0b19 (\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:house: Internal\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-code-frame\u003c/code\u003e, \u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-helper-module-transforms\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-plugin-bugfix-safari-rest-destructuring-rhs-array\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-destructuring-private\u003c/code\u003e, \u003ccode\u003ebabel-plugin-proposal-discard-binding\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-regenerator\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-typescript\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e, \u003ccode\u003ebabel-types\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18235\"\u003e#18235\u003c/a\u003e Remove unused internal exports (\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-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18245\"\u003e#18245\u003c/a\u003e test: test with ts-eslint 8.70.0 (\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-core\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18231\"\u003e#18231\u003c/a\u003e build: do not emit sourcemap in production build (\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-build-external-helpers\u003c/code\u003e, \u003ccode\u003ebabel-cli\u003c/code\u003e, \u003ccode\u003ebabel-code-frame\u003c/code\u003e, \u003ccode\u003ebabel-core\u003c/code\u003e, \u003ccode\u003ebabel-generator\u003c/code\u003e, \u003ccode\u003ebabel-helper-compilation-targets\u003c/code\u003e, \u003ccode\u003ebabel-helper-create-class-features-plugin\u003c/code\u003e, \u003ccode\u003ebabel-helper-globals\u003c/code\u003e, \u003ccode\u003ebabel-helper-string-parser\u003c/code\u003e, \u003ccode\u003ebabel-helper-transform-fixture-test-runner\u003c/code\u003e, \u003ccode\u003ebabel-helper-validator-identifier\u003c/code\u003e, \u003ccode\u003ebabel-node\u003c/code\u003e, \u003ccode\u003ebabel-parser\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-generator-functions\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-runtime\u003c/code\u003e, \u003ccode\u003ebabel-register\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e, \u003ccode\u003ebabel-traverse\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/18236\"\u003e#18236\u003c/a\u003e Enforce usage of Yarn catalog for reused dependencies (\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/1fc00736614159e3b236b9958771f482899853f0\"\u003e\u003ccode\u003e1fc0073\u003c/code\u003e\u003c/a\u003e v8.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/7c1dcfac003791a7fee733ed13851a5cac1ccf1c\"\u003e\u003ccode\u003e7c1dcfa\u003c/code\u003e\u003c/a\u003e Make \u003ccode\u003e@babel/preset-typescript\u003c/code\u003e export type \u003ccode\u003eOptions\u003c/code\u003e (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-preset-typescript/issues/18251\"\u003e#18251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v8.0.7/packages/babel-preset-typescript\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@next/eslint-plugin-next` from 16.3.8 to 16.4.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@​next/eslint-plugin-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.4.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[lts-active] turbo-tasks snapshot consistency fixes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99644\"\u003e#99644\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99732\"\u003e#99732\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99649\"\u003e#99649\u003c/a\u003e) by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100002\"\u003evercel/next.js#100002\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Turbopack: backport Pages Router dev module graph chaining (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/98823\"\u003e#98823\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/99910\"\u003e#99910\u003c/a\u003e, \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/100091\"\u003e#100091\u003c/a\u003e) by \u003ca href=\"https://github.com/sokra\"\u003e\u003ccode\u003e@​sokra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100008\"\u003evercel/next.js#100008\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] fix(next-code-frame): snap visible window to char boundaries by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100212\"\u003evercel/next.js#100212\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] [turbopack] Fix two GC paths that leave half-torn-down dependency edges by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100209\"\u003evercel/next.js#100209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Turbopack: Ignore realpath errors during module resolution, matching node's behavior by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100217\"\u003evercel/next.js#100217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Backport docs fixes since v16.4.0 by \u003ca href=\"https://github.com/icyJoseph\"\u003e\u003ccode\u003e@​icyJoseph\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100246\"\u003evercel/next.js#100246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Fix Turbopack lazy dynamic-import chunk-list collisions by \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100211\"\u003evercel/next.js#100211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[lts-active] Backport additional documentation fixes since v16.4.0 by \u003ca href=\"https://github.com/aurorascharff\"\u003e\u003ccode\u003e@​aurorascharff\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/next.js/pull/100262\"\u003evercel/next.js#100262\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/next.js/compare/v16.4.1...v16.4.2\"\u003ehttps://github.com/vercel/next.js/compare/v16.4.1...v16.4.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev16.4.1\u003c/h2\u003e\n\u003cp\u003eThis release contains security fixes for the following advisories:\u003c/p\u003e\n\u003cp\u003eCritical:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-673q-mjm6-r5xr\"\u003eUnauthenticated Remote Code Execution in \u003ccode\u003euse cache\u003c/code\u003e functions returning typed arrays\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-2464-fhr4-w9xw\"\u003eUnauthenticated Remote Code Execution in Image Optimization API when SVG files are used\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHigh:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/security/advisories/GHSA-p3m5-59mp-jv5r\"\u003eDenial of Service in App Router using Server Actions\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.4.0\u003c/h2\u003e\n\u003cp\u003eCheck out the \u003ca href=\"https://nextjs.org/blog/next-16-4\"\u003e16.4 announcement post\u003c/a\u003e to get an overview of the changes.\u003c/p\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eShow compiler plugin warning in more situations: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/75682\"\u003e#75682\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(scripts): correct typo in rm.mjs error message: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/87015\"\u003e#87015\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: improve clarity and punctuation in README: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/86096\"\u003e#86096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix debug build paths Pages Router support entries: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93529\"\u003e#93529\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebundle-analyzer: record historical snapshots on each analyze run: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93520\"\u003e#93520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: detect proxy.ts correctly with compound pageExtensions: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93246\"\u003e#93246\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(turbopack): support \u003ccode\u003efalse\u003c/code\u003e values for \u003ccode\u003eresolveAlias\u003c/code\u003e config: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/93331\"\u003e#93331\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMisc Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: correction to dynamicParams migration: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96624\"\u003e#96624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: proxy event argument: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96435\"\u003e#96435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: remove experimental note from runtime prefetching: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96615\"\u003e#96615\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve per-segment prefetching after dynamic navigation: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96583\"\u003e#96583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename static generation stream option to waitForAllReady: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96564\"\u003e#96564\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove obsolete static generation plumbing: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96563\"\u003e#96563\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Drop dead writes to \u003ccode\u003eexports\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96381\"\u003e#96381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Ignore writes to \u003ccode\u003eexports\u003c/code\u003e after a \u003ccode\u003emodule.exports = {}\u003c/code\u003e writes: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96380\"\u003e#96380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Add test for sideEffects with optimizePackageImports: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96549\"\u003e#96549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[turbopack] Strip leading BOM before parsing CSS: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96678\"\u003e#96678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade React from \u003ccode\u003ecbb046ab-20260731\u003c/code\u003e to \u003ccode\u003e7dfc7ccd-20260803\u003c/code\u003e: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next/issues/96550\"\u003e#96550\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/2864b1772c37242a9b40ab4d366eb7d368c2a070\"\u003e\u003ccode\u003e2864b17\u003c/code\u003e\u003c/a\u003e v16.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/7217011ac0d689026884dd28536a0c7f3c98ba77\"\u003e\u003ccode\u003e7217011\u003c/code\u003e\u003c/a\u003e v16.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/e273d5b2e869d0be06c0e86f788e1594f9dd40cf\"\u003e\u003ccode\u003ee273d5b\u003c/code\u003e\u003c/a\u003e v16.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/c3e76ad9e49ac21d1667e4b8b2b6b3a3348d2975\"\u003e\u003ccode\u003ec3e76ad\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.63\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ccf8c15a42d1a7140cf569ac15bec3ccb0187e8f\"\u003e\u003ccode\u003eccf8c15\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.62\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/27ee7212f72fdbf8aab13e2263d21110108a2e76\"\u003e\u003ccode\u003e27ee721\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.61\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/cdf6866a1d9c4a88afff3ffdc127fe7932e184d5\"\u003e\u003ccode\u003ecdf6866\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.60\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/ba80ee48fc319735151c3ad6d9bb9a8180c9f09e\"\u003e\u003ccode\u003eba80ee4\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.59\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/1bcedb48d95a5a9ba6ad77dd2d8ba9ecc4159ba6\"\u003e\u003ccode\u003e1bcedb4\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.58\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/next.js/commit/3683479afb0cd864cc40c4b46d09dbd7ce45d4af\"\u003e\u003ccode\u003e3683479\u003c/code\u003e\u003c/a\u003e v16.4.0-canary.57\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/next.js/commits/v16.4.2/packages/eslint-plugin-next\"\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.71.0 to 8.71.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.2\u003c/h2\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match linked packages and packages with missing version in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/...\n\n_Description has been truncated_","html_url":"https://github.com/Kong/volcano-sdk-js/pull/338","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kong%2Fvolcano-sdk-js/issues/338","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/338/packages"}},{"old_version":"18.4.1","new_version":"18.5.0","update_type":"minor","path":null,"pr_created_at":"2026-10-21T08:09:14.000Z","version_change":"18.4.1 → 18.5.0","issue":{"uuid":"5956806595","node_id":"PR_kwDOVI4h2c8AAAABJvNgrw","number":39,"state":"open","title":"Bump eslint-plugin-n from 18.4.1 to 18.5.0","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-21T08:09:14.000Z","updated_at":"2026-10-21T08:09:17.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"eslint-plugin-n","old_version":"18.4.1","new_version":"18.5.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.4.1 to 18.5.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.5.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.1...v18.5.0\"\u003e18.5.0\u003c/a\u003e (2026-10-18)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003enode-builtins:\u003c/strong\u003e ✨ support 20.20, 22.23, 24.22 and 26.12 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/578\"\u003e#578\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/2fa0069534e97f807092480d8383124da0ae18eb\"\u003e2fa0069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-mixed-requires:\u003c/strong\u003e classify modern Node built-ins (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/58c5d56f8ac64905d32a9427c03e62d61063eba8\"\u003e58c5d56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features/es-syntax:\u003c/strong\u003e Promise.withResolvers is supported since Node.js 22.0.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/577\"\u003e#577\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4a6dee17e067da781b94cbe42674bf7f589cc930\"\u003e4a6dee1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexplain module aliases for no-missing-require (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/579\"\u003e#579\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/fcf1256ee65f490af65b98a4812f95c422313189\"\u003efcf1256\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.1...v18.5.0\"\u003e18.5.0\u003c/a\u003e (2026-10-18)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003enode-builtins:\u003c/strong\u003e ✨ support 20.20, 22.23, 24.22 and 26.12 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/578\"\u003e#578\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/2fa0069534e97f807092480d8383124da0ae18eb\"\u003e2fa0069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-mixed-requires:\u003c/strong\u003e classify modern Node built-ins (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/58c5d56f8ac64905d32a9427c03e62d61063eba8\"\u003e58c5d56\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features/es-syntax:\u003c/strong\u003e Promise.withResolvers is supported since Node.js 22.0.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/577\"\u003e#577\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4a6dee17e067da781b94cbe42674bf7f589cc930\"\u003e4a6dee1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eexplain module aliases for no-missing-require (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/579\"\u003e#579\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/fcf1256ee65f490af65b98a4812f95c422313189\"\u003efcf1256\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/5bbe603030c658599db596a7175e1094b01c0157\"\u003e\u003ccode\u003e5bbe603\u003c/code\u003e\u003c/a\u003e chore(master): release 18.5.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/581\"\u003e#581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/2fa0069534e97f807092480d8383124da0ae18eb\"\u003e\u003ccode\u003e2fa0069\u003c/code\u003e\u003c/a\u003e feat(node-builtins): ✨ support 20.20, 22.23, 24.22 and 26.12 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/fcf1256ee65f490af65b98a4812f95c422313189\"\u003e\u003ccode\u003efcf1256\u003c/code\u003e\u003c/a\u003e docs: explain module aliases for no-missing-require (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/579\"\u003e#579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/58c5d56f8ac64905d32a9427c03e62d61063eba8\"\u003e\u003ccode\u003e58c5d56\u003c/code\u003e\u003c/a\u003e fix(no-mixed-requires): classify modern Node built-ins (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/580\"\u003e#580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4a6dee17e067da781b94cbe42674bf7f589cc930\"\u003e\u003ccode\u003e4a6dee1\u003c/code\u003e\u003c/a\u003e fix(no-unsupported-features/es-syntax): Promise.withResolvers is supported si...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.1...v18.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.4.1\u0026new-version=18.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/tiengming/rsshub/pull/39","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiengming%2Frsshub/issues/39","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/39/packages"}},{"old_version":"18.4.0","new_version":"18.4.1","update_type":"patch","path":null,"pr_created_at":"2026-10-19T05:28:52.000Z","version_change":"18.4.0 → 18.4.1","issue":{"uuid":"5918382072","node_id":"PR_kwDORN70ZM8AAAABJQklog","number":513,"state":"open","title":"chore(deps): Bump the npm-runtime-minor group across 1 directory with 8 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-19T05:28:52.000Z","updated_at":"2026-10-19T05:28:55.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): Bump","group_name":"npm-runtime-minor","update_count":8,"packages":[{"name":"@napi-rs/canvas","old_version":"1.0.10","new_version":"1.0.11","repository_url":"https://github.com/Brooooooklyn/canvas"},{"name":"dotenv","old_version":"18.0.5","new_version":"18.0.8","repository_url":"https://github.com/motdotla/dotenv"},{"name":"nodemailer","old_version":"10.0.13","new_version":"10.1.1","repository_url":"https://github.com/nodemailer/nodemailer"},{"name":"sodium-native","old_version":"5.1.0","new_version":"5.1.1","repository_url":"https://github.com/holepunchto/sodium-native"},{"name":"axe-core","old_version":"4.13.0","new_version":"4.14.0","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"playwright","old_version":"1.63.0","new_version":"1.64.1","repository_url":"https://github.com/microsoft/playwright"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-runtime-minor group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@napi-rs/canvas](https://github.com/Brooooooklyn/canvas) | `1.0.10` | `1.0.11` |\n| [dotenv](https://github.com/motdotla/dotenv) | `18.0.5` | `18.0.8` |\n| [nodemailer](https://github.com/nodemailer/nodemailer) | `10.0.13` | `10.1.1` |\n| [sodium-native](https://github.com/holepunchto/sodium-native) | `5.1.0` | `5.1.1` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `4.13.0` | `4.14.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [playwright](https://github.com/microsoft/playwright) | `1.63.0` | `1.64.1` |\n\n\nUpdates `@napi-rs/canvas` from 1.0.10 to 1.0.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Brooooooklyn/canvas/releases\"\u003e@​napi-rs/canvas's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.0.11\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update rust to v1.99.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1349\"\u003eBrooooooklyn/canvas#1349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: emit CycloneDX SBOMs for platform packages by \u003ca href=\"https://github.com/Brooooooklyn\"\u003e\u003ccode\u003e@​Brooooooklyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1351\"\u003eBrooooooklyn/canvas#1351\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: attest binaries only on releases and in a single step by \u003ca href=\"https://github.com/Brooooooklyn\"\u003e\u003ccode\u003e@​Brooooooklyn\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1354\"\u003eBrooooooklyn/canvas#1354\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: start a new subpath for each Path2D.addPath call by \u003ca href=\"https://github.com/binarychase\"\u003e\u003ccode\u003e@​binarychase\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1353\"\u003eBrooooooklyn/canvas#1353\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/binarychase\"\u003e\u003ccode\u003e@​binarychase\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/pull/1353\"\u003eBrooooooklyn/canvas#1353\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\"\u003ehttps://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Brooooooklyn/canvas/blob/main/CHANGELOG.md\"\u003e@​napi-rs/canvas's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\"\u003e1.0.11\u003c/a\u003e (2026-10-10)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003estart a new subpath for each Path2D.addPath call (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1353\"\u003e#1353\u003c/a\u003e) (\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/363cbd6ebe5c95e8774b0262a3b11350bcd8f81f\"\u003e363cbd6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eemit CycloneDX SBOMs for platform packages (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1351\"\u003e#1351\u003c/a\u003e) (\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/22d9b29e10c756b018c6b441edd1b93a2fbd672d\"\u003e22d9b29\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/Brooooooklyn/canvas/commit/adce718ec8ff82f9e896875752fd621c46b1c04e\"\u003e\u003ccode\u003eadce718\u003c/code\u003e\u003c/a\u003e 1.0.11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/363cbd6ebe5c95e8774b0262a3b11350bcd8f81f\"\u003e\u003ccode\u003e363cbd6\u003c/code\u003e\u003c/a\u003e fix: start a new subpath for each Path2D.addPath call (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1353\"\u003e#1353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/bad0717603037830458a0453f7439a587c970aa4\"\u003e\u003ccode\u003ebad0717\u003c/code\u003e\u003c/a\u003e ci: attest binaries only on releases and in a single step (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1354\"\u003e#1354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/22d9b29e10c756b018c6b441edd1b93a2fbd672d\"\u003e\u003ccode\u003e22d9b29\u003c/code\u003e\u003c/a\u003e feat: emit CycloneDX SBOMs for platform packages (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1351\"\u003e#1351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Brooooooklyn/canvas/commit/dfab6dcff4981c3b2b8ddceafd2a97780e7aa21a\"\u003e\u003ccode\u003edfab6dc\u003c/code\u003e\u003c/a\u003e chore(deps): update rust to v1.99.0 (\u003ca href=\"https://redirect.github.com/Brooooooklyn/canvas/issues/1349\"\u003e#1349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Brooooooklyn/canvas/compare/v1.0.10...v1.0.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv` from 18.0.5 to 18.0.8\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.7...v18.0.8\"\u003e18.0.8\u003c/a\u003e (2026-10-14)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFast parser should strip appended extra quotes (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1073\"\u003e#1073\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eType detail improvement (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1074\"\u003e#1074\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.6...v18.0.7\"\u003e18.0.7\u003c/a\u003e (2026-10-09)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat undefined settings like \u003ccode\u003equiet: true\u003c/code\u003e as null rather than falsey (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCLI should honor \u003ccode\u003eDOTENV_QUIET\u003c/code\u003e setting in \u003ccode\u003e.env\u003c/code\u003e file (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1071\"\u003e#1071\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.5...v18.0.6\"\u003e18.0.6\u003c/a\u003e (2026-10-06)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse smarter \u003ccode\u003eparseBoolean\u003c/code\u003e not Boolean() to fix override (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/1069\"\u003e#1069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/e2fe95e8e952e881787d8207b654c80326f821d8\"\u003e\u003ccode\u003ee2fe95e\u003c/code\u003e\u003c/a\u003e 18.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/7aa712ab2914c0cf128ea8ccdaf5e918a867db59\"\u003e\u003ccode\u003e7aa712a\u003c/code\u003e\u003c/a\u003e type detail improvement\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/53405b0b140debc002e41c5abb671d5da5f3e8f9\"\u003e\u003ccode\u003e53405b0\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1074\"\u003e#1074\u003c/a\u003e from himanshu748/codex/fix-dotenv-populate-undefined...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/0b4843a90d6d70b110d1f1a309f209c3d8d7cb6e\"\u003e\u003ccode\u003e0b4843a\u003c/code\u003e\u003c/a\u003e changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/55855ab6bffb017ca94cb273704c055f2d977c57\"\u003e\u003ccode\u003e55855ab\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/motdotla/dotenv/issues/1073\"\u003e#1073\u003c/a\u003e from xiehuanyi/fix/unicode-unquoting-parity\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/f7578114202cf0b8df31775225a9233ead6b2a80\"\u003e\u003ccode\u003ef757811\u003c/code\u003e\u003c/a\u003e fix(types): allow undefined values in populate output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/fde5db2bca73438a013ee8837b021a436e65dac7\"\u003e\u003ccode\u003efde5db2\u003c/code\u003e\u003c/a\u003e Keep fast-parser unquoting consistent at Unicode line boundaries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/295320751866efa323236c719cdc1b5306fa3de7\"\u003e\u003ccode\u003e2953207\u003c/code\u003e\u003c/a\u003e 18.0.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/9944723d89e6f776897f171bfc6b945dfad23c57\"\u003e\u003ccode\u003e9944723\u003c/code\u003e\u003c/a\u003e make more readable for undefined -\u0026gt; null\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/d455db06a7b37acd8b240793a888efaba75885f4\"\u003e\u003ccode\u003ed455db0\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:motdotla/dotenv\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v18.0.5...v18.0.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nodemailer` from 10.0.13 to 10.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodemailer/nodemailer/releases\"\u003enodemailer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.1.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.1.0...v10.1.1\"\u003e10.1.1\u003c/a\u003e (2026-10-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e strip credentials on any cross-origin redirect (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/a15360cd2cd12e4670e96ab0b7290e8c862391cf\"\u003ea15360c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.1.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.16...v10.1.0\"\u003e10.1.0\u003c/a\u003e (2026-10-10)\u003c/h2\u003e\n\u003ch3\u003eBehaviour changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePooled connections are closed after 4 minutes without a message (new \u003ccode\u003eidleTimeout\u003c/code\u003e pool option, set it to \u003ccode\u003e0\u003c/code\u003e to keep them open). A message whose recipients are rejected no longer closes the pooled connection, it is reset with \u003ccode\u003eRSET\u003c/code\u003e and reused, and a message is requeued when the server dropped a reused connection before any of it was sent.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003econnectionTimeout\u003c/code\u003e covers setting the session up as a whole: the DNS lookup, a proxy handshake, the TCP connection, TLS, the greeting and a STARTTLS upgrade. \u003ccode\u003egreetingTimeout\u003c/code\u003e still bounds the greeting and the STARTTLS handshake within it.\u003c/li\u003e\n\u003cli\u003eAny \u003ccode\u003e421\u003c/code\u003e reply ends the SMTP session. When the server closes an idle connection, \u003ccode\u003eSMTPConnection\u003c/code\u003e emits only \u003ccode\u003eend\u003c/code\u003e, not an \u003ccode\u003eECONNECTION\u003c/code\u003e error.\u003c/li\u003e\n\u003cli\u003eA content stream that was already read or destroyed fails the message with \u003ccode\u003eESTREAM\u003c/code\u003e instead of producing an empty attachment. Content streams of a message that fails are destroyed.\u003c/li\u003e\n\u003cli\u003eWith \u003ccode\u003eopportunisticTLS\u003c/code\u003e, authentication is skipped on the unencrypted connection after a failed STARTTLS, unless \u003ccode\u003eforceAuth\u003c/code\u003e is set.\u003c/li\u003e\n\u003cli\u003eThe envelope is pipelined (MAIL FROM, RCPT TO and DATA in one batch) when the server announces PIPELINING.\u003c/li\u003e\n\u003cli\u003eErrors carry \u003ccode\u003eoriginalCode\u003c/code\u003e (the system error code Nodemailer replaced, such as \u003ccode\u003eECONNREFUSED\u003c/code\u003e) and, for \u003ccode\u003eETIMEDOUT\u003c/code\u003e, \u003ccode\u003etimeoutType\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eharden message streams, SMTP connections and the connection pool (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8009da6e10bb8e10d7f0948a25d65895fdcd64f1\"\u003e8009da6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edo not read the environment or the interface table on import (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/094179d176d2ebe7a28742411ad427d3c87a3981\"\u003e094179d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eend the SMTP session on any 421 reply and drive the envelope through one step (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5638ac1914342460df270f736e7ceb0a844cf83a\"\u003e5638ac1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ekeep ERR_ACCESS_DENIED from the Node.js permission model (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8b33a3d4fedee3431b97da7da12af954c3c8dceb\"\u003e8b33a3d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet the proxy handshake and the SMTP connection share one deadline (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/91ed683f7a1e9ff8c56e24fb76facf16af08b162\"\u003e91ed683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e decode an SMTPUTF8 domain from its A-label form (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/e436f4dccbc8b0fb57b4747ebaafa5bb035c15cb\"\u003ee436f4d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e finish an encoded part only after its output was read (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/ec97d8f679a1d9d47bbebb03ea064f5fa6f58d01\"\u003eec97d8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eqp:\u003c/strong\u003e encode a lone CR or LF in binary quoted-printable parts (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/42b91d9a0fe18eea412c9774c5c142adf5b3efc7\"\u003e42b91d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e count the wait for the greeting against connectionTimeout (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/bdcd0462cab163eca3c34058d09b9981ab671c47\"\u003ebdcd046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e drop the connection when DATA is taken after a refused sender (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/f90fb045bc24f96a128710791b2fa443e64f55fd\"\u003ef90fb04\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e refuse a second connect() call (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/24ba2e0847ecb8202540f1c5e53483bd119ae4f2\"\u003e24ba2e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eturn Nagle off for SMTP sockets and report an early sendmail exit as such (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fa9b8d300bf642cd9e11f6732ebb312c09868677\"\u003efa9b8d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eencode base64 and quoted-printable without per-chunk delays (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fd377bbf559363860aedbedba6f107348fc152d2\"\u003efd377bb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.16\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.15...v10.0.16\"\u003e10.0.16\u003c/a\u003e (2026-10-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md\"\u003enodemailer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.1.0...v10.1.1\"\u003e10.1.1\u003c/a\u003e (2026-10-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e strip credentials on any cross-origin redirect (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/a15360cd2cd12e4670e96ab0b7290e8c862391cf\"\u003ea15360c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.16...v10.1.0\"\u003e10.1.0\u003c/a\u003e (2026-10-10)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eharden message streams, SMTP connections and the connection pool (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8009da6e10bb8e10d7f0948a25d65895fdcd64f1\"\u003e8009da6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edo not read the environment or the interface table on import (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/094179d176d2ebe7a28742411ad427d3c87a3981\"\u003e094179d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eend the SMTP session on any 421 reply and drive the envelope through one step (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/5638ac1914342460df270f736e7ceb0a844cf83a\"\u003e5638ac1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ekeep ERR_ACCESS_DENIED from the Node.js permission model (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/8b33a3d4fedee3431b97da7da12af954c3c8dceb\"\u003e8b33a3d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003elet the proxy handshake and the SMTP connection share one deadline (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/91ed683f7a1e9ff8c56e24fb76facf16af08b162\"\u003e91ed683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e decode an SMTPUTF8 domain from its A-label form (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/e436f4dccbc8b0fb57b4747ebaafa5bb035c15cb\"\u003ee436f4d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emime-node:\u003c/strong\u003e finish an encoded part only after its output was read (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/ec97d8f679a1d9d47bbebb03ea064f5fa6f58d01\"\u003eec97d8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eqp:\u003c/strong\u003e encode a lone CR or LF in binary quoted-printable parts (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/42b91d9a0fe18eea412c9774c5c142adf5b3efc7\"\u003e42b91d9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e count the wait for the greeting against connectionTimeout (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/bdcd0462cab163eca3c34058d09b9981ab671c47\"\u003ebdcd046\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e drop the connection when DATA is taken after a refused sender (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/f90fb045bc24f96a128710791b2fa443e64f55fd\"\u003ef90fb04\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esmtp-connection:\u003c/strong\u003e refuse a second connect() call (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/24ba2e0847ecb8202540f1c5e53483bd119ae4f2\"\u003e24ba2e0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eturn Nagle off for SMTP sockets and report an early sendmail exit as such (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fa9b8d300bf642cd9e11f6732ebb312c09868677\"\u003efa9b8d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eencode base64 and quoted-printable without per-chunk delays (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/fd377bbf559363860aedbedba6f107348fc152d2\"\u003efd377bb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.15...v10.0.16\"\u003e10.0.16\u003c/a\u003e (2026-10-07)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eaddressparser:\u003c/strong\u003e keep an escaped parenthesis inside a comment (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/c4ae20d074ac0510cc2d0cbd6039ee7fab3a4ca8\"\u003ec4ae20d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e keep the case of cookie names (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1888\"\u003e#1888\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9f16eedf8de0485e6d07969113db992ff70f89ce\"\u003e9f16eed\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efetch:\u003c/strong\u003e read the cookie name-value pair by position (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/645e97c8f0586404d9fb861c9527be7572c2c832\"\u003e645e97c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.14...v10.0.15\"\u003e10.0.15\u003c/a\u003e (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eerrors:\u003c/strong\u003e inherit NodemailerError code from ErrnoException (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/e99db61d51c244e184a3a79103d1d732ffb6376b\"\u003ee99db61\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1884\"\u003e#1884\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eerrors:\u003c/strong\u003e keep NodemailerError compatible with \u003ccode\u003e@​types/node\u003c/code\u003e 26 ErrnoException (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1885\"\u003e#1885\u003c/a\u003e) (\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b6603286cc45bff52c13cc74e5ac47f424452fdc\"\u003eb660328\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/9396ccac77d4f78c34437eecda2c0cd146fad891\"\u003e\u003ccode\u003e9396cca\u003c/code\u003e\u003c/a\u003e chore(master): release 10.1.1 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1893\"\u003e#1893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/65d7498a345828af762076e8da5a38e3297876ce\"\u003e\u003ccode\u003e65d7498\u003c/code\u003e\u003c/a\u003e chore(deps): bump dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/647ee44499a10ef57e84e4bc3028b9c9cc986798\"\u003e\u003ccode\u003e647ee44\u003c/code\u003e\u003c/a\u003e test(smtp-connection): pin connectionTimeout across all resolved addresses\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/a15360cd2cd12e4670e96ab0b7290e8c862391cf\"\u003e\u003ccode\u003ea15360c\u003c/code\u003e\u003c/a\u003e fix(fetch): strip credentials on any cross-origin redirect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/c8671c47559be03614230904cb9df559a8a12130\"\u003e\u003ccode\u003ec8671c4\u003c/code\u003e\u003c/a\u003e Updated SECURITY.md formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/be6fe728454d48931f206b6c8ca1c5a67f05376c\"\u003e\u003ccode\u003ebe6fe72\u003c/code\u003e\u003c/a\u003e testing VUlnerability firm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/7bdaa77d1d7bc3892cdedc6aafd8ae429987ab6f\"\u003e\u003ccode\u003e7bdaa77\u003c/code\u003e\u003c/a\u003e chore: Updated Security Policy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/0780032250ad5c566b5d8e6fd56ca8c210e423ec\"\u003e\u003ccode\u003e0780032\u003c/code\u003e\u003c/a\u003e chore(master): release 10.1.0 (\u003ca href=\"https://redirect.github.com/nodemailer/nodemailer/issues/1890\"\u003e#1890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/42b91d9a0fe18eea412c9774c5c142adf5b3efc7\"\u003e\u003ccode\u003e42b91d9\u003c/code\u003e\u003c/a\u003e fix(qp): encode a lone CR or LF in binary quoted-printable parts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodemailer/nodemailer/commit/b9b8c84e924168dfa1fed701cd207c8f5099f279\"\u003e\u003ccode\u003eb9b8c84\u003c/code\u003e\u003c/a\u003e test(smtp-pool): fail the clear event test with the pool state instead of han...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nodemailer/nodemailer/compare/v10.0.13...v10.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sodium-native` from 5.1.0 to 5.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/ef7b25386d7d0beb3b13ec4a980857f6c2aef1ef\"\u003e\u003ccode\u003eef7b253\u003c/code\u003e\u003c/a\u003e 5.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/54afa1114a04c3bfd15b990ba5d3b03c0685cf50\"\u003e\u003ccode\u003e54afa11\u003c/code\u003e\u003c/a\u003e Add Lunte and publish workflow (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/248\"\u003e#248\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/ba6517132de73c136b382b1d68e71eda297a10f0\"\u003e\u003ccode\u003eba65171\u003c/code\u003e\u003c/a\u003e Lock down permissions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/2b46136f0f9c15f196341e5355a8d7604be3aa63\"\u003e\u003ccode\u003e2b46136\u003c/code\u003e\u003c/a\u003e fix(crypto_secretbox): add safeguards (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/245\"\u003e#245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/ccec036e6a50106335dfd8da4dda15bc6fcab6ab\"\u003e\u003ccode\u003eccec036\u003c/code\u003e\u003c/a\u003e fix(mprotect): add safeguards to avoid crashes (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/244\"\u003e#244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/106ced578955945b2f45b27cbb5ef038e00c6da1\"\u003e\u003ccode\u003e106ced5\u003c/code\u003e\u003c/a\u003e fix(memory): set secure flag properly (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/243\"\u003e#243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/96263802b0f4d91e8e93a9d93ebe7a4aa38c8fa8\"\u003e\u003ccode\u003e9626380\u003c/code\u003e\u003c/a\u003e Rely on global \u003ccode\u003egc()\u003c/code\u003e in tests that require GC (\u003ca href=\"https://redirect.github.com/holepunchto/sodium-native/issues/242\"\u003e#242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/holepunchto/sodium-native/commit/f566427e31344db077007f1ebf188ee743b46d57\"\u003e\u003ccode\u003ef566427\u003c/code\u003e\u003c/a\u003e Use LLVM 21 for Windows prebuilds\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/holepunchto/sodium-native/compare/v5.1.0...v5.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for sodium-native since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `axe-core` from 4.13.0 to 4.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core/releases\"\u003eaxe-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.14.0\u003c/h2\u003e\n\u003cp\u003eThis release enables a new rule, and introduces new violations in some existing rules. These can cause the issue totals to go up from a previous version. Similarly we've included various bug fixes to false positives which may see the issue count go down as well. This release focused on various performance improvements which should speed runs up 20% - 40% on most pages. On especially large pages we've measured a 15x performance improvement.\u003c/p\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd EN 301 549 v4 tags to target-size (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5361\"\u003e#5361\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/8200d2b81f3fd41f6287423c326fb663afa85fb3\"\u003e8200d2b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5311\"\u003e#5311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ei18n:\u003c/strong\u003e add Azerbaijani locale (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5385\"\u003e#5385\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/02e5fd446a2b53196dff25026bff6a9be47fdc22\"\u003e02e5fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e Enable rule by default (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5421\"\u003e#5421\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/c0d61636909d25e4ea1b8aec665cfcd2098978d5\"\u003ec0d6163\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5227\"\u003e#5227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e report case-sensitive aria attributes with non-lowercase values (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5418\"\u003e#5418\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1e33c6caf879e204a664e85c6cd49f0c9c5e5d31\"\u003e1e33c6c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5280\"\u003e#5280\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5224\"\u003e#5224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-hidden-focus:\u003c/strong\u003e suggest removing aria-hidden in the fail messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5397\"\u003e#5397\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/aa4a0a1966b8d858fcd7e9f7acffac39fac006e3\"\u003eaa4a0a1\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-prohibited-attr:\u003c/strong\u003e quote the element name in no-role messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5391\"\u003e#5391\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/24736a4f3df243c1de692f17dd0e1e3d23a4542d\"\u003e24736a4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e allow caption in table, grid and treegrid (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5412\"\u003e#5412\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/ed987a21521f4186ad83de547af4de9477a521e5\"\u003eed987a2\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5265\"\u003e#5265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e explain presentational children that cannot be ignored (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5407\"\u003e#5407\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/35a38d811672023d38fdb440bdd2e402575a52d8\"\u003e35a38d8\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eavoid-inline-spacing:\u003c/strong\u003e test the text that gets the spacing from the element (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5411\"\u003e#5411\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/96e3e067f9f2270549ffe72e5b07cf9f3945d1fb\"\u003e96e3e06\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e add incomplete messages to checks that can return undefined (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5388\"\u003e#5388\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6f1a6febfe15b938742a0125597f024dae1603ed\"\u003e6f1a6fe\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e make listitem failure messages actionable (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6dd1be286097de3844962d20818810855d8b75cf\"\u003e6dd1be2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e handle \u0026quot;none\u0026quot; and exponents in color strings (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5422\"\u003e#5422\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cf5ed89708895c4bffff8cacf345323be4338412\"\u003ecf5ed89\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5313\"\u003e#5313\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4136\"\u003e#4136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4007\"\u003e#4007\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4269\"\u003e#4269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e treat empty low-contrast text inputs as incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5359\"\u003e#5359\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/47029deca0d8e9d0bcbe94f15bf8393ba69241f9\"\u003e47029de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4260\"\u003e#4260\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/dom:\u003c/strong\u003e treat dialog as non-modal when elementsFromPoint is unsupported (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5202\"\u003e#5202\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/757b44af26bdd566707d513918c5db7879dd1e2e\"\u003e757b44a\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4997\"\u003e#4997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text/visibleVirtual:\u003c/strong\u003e sanitize visible text once, not at every level (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5368\"\u003e#5368\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2d4718219f7db134de4f7cf3d741a8ce702e37d6\"\u003e2d47182\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecore:\u003c/strong\u003e use the fallback message when a check has no incomplete message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5367\"\u003e#5367\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4887c3a880dc5c58649bb1d5c72b79dda3393312\"\u003e4887c3a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e add support for cjk word splitting (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5437\"\u003e#5437\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/d53cb0ad64e90dff0eb744b98a29d69a2d6dd5e1\"\u003ed53cb0a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e compare visible label to name by word (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4e3fcf56670738da96e0d6b529897d1af86e46c4\"\u003e4e3fcf5\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5346\"\u003e#5346\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4311\"\u003e#4311\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e ignore parenthesised content (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5360\"\u003e#5360\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/388132db27a82c08e39d1049f3cce2f18a118500\"\u003e388132d\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e mark value-text roles incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5258f4439e05434ae0313017a8048c9611229396\"\u003e5258f44\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e normalize CJK and full-width text before comparing (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5419\"\u003e#5419\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/52dd387c94adb0b12cc4531ba34e8c2bd4c3b274\"\u003e52dd387\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5420\"\u003e#5420\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5340\"\u003e#5340\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-focusable-content:\u003c/strong\u003e say how to fix in the default fail message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5392\"\u003e#5392\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/b84b76bb32733b408b43ed7634e76974e38e5a95\"\u003eb84b76b\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3194\"\u003e#3194\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ep-as-heading:\u003c/strong\u003e ignore paragraphs with heading roles (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5348\"\u003e#5348\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cbc33b967cadc6bcc4cd34309f21742d0c0ff62c\"\u003ecbc33b9\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5283\"\u003e#5283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eprocess-message:\u003c/strong\u003e separate array values with a comma and a space (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5393\"\u003e#5393\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6ba9ee48e153f609cdb6ed04360ce8be2731a472\"\u003e6ba9ee4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter:\u003c/strong\u003e make addReporter isDefault set the default reporter (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5395\"\u003e#5395\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/eb854ed3e7498f1c1c6bd941b44181455a8e4866\"\u003eeb854ed\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e negative tabindex content needs review instead of failing outright (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5364\"\u003e#5364\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/72e86242e518f6fd82508d842ce103590393adbd\"\u003e72e8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore overlapping links with the same destination (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5428\"\u003e#5428\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2ba0812fda58779ac285ba62fe9c27110a391f96\"\u003e2ba0812\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5406\"\u003e#5406\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4224\"\u003e#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate de.json (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5353\"\u003e#5353\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4d306cbb7c456849c6f964444a6a7174d2be502a\"\u003e4d306cb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils:\u003c/strong\u003e resolve \u003ca href=\"https://github.com/import\"\u003e\u003ccode\u003e@​import\u003c/code\u003e\u003c/a\u003e url against the stylesheet that contains it (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5269\"\u003e#5269\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/e618fb6cfabab7e153319256d09802b043e916dc\"\u003ee618fb6\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5268\"\u003e#5268\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md\"\u003eaxe-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.13.0...v4.14.0\"\u003e4.14.0\u003c/a\u003e (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd EN 301 549 v4 tags to target-size (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5361\"\u003e#5361\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/8200d2b81f3fd41f6287423c326fb663afa85fb3\"\u003e8200d2b\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5311\"\u003e#5311\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ei18n:\u003c/strong\u003e add Azerbaijani locale (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5385\"\u003e#5385\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/02e5fd446a2b53196dff25026bff6a9be47fdc22\"\u003e02e5fd4\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e Enable rule by default (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5421\"\u003e#5421\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/c0d61636909d25e4ea1b8aec665cfcd2098978d5\"\u003ec0d6163\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5227\"\u003e#5227\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003earia-allowed-attr:\u003c/strong\u003e report case-sensitive aria attributes with non-lowercase values (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5418\"\u003e#5418\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1e33c6caf879e204a664e85c6cd49f0c9c5e5d31\"\u003e1e33c6c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5280\"\u003e#5280\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5224\"\u003e#5224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-hidden-focus:\u003c/strong\u003e suggest removing aria-hidden in the fail messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5397\"\u003e#5397\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/aa4a0a1966b8d858fcd7e9f7acffac39fac006e3\"\u003eaa4a0a1\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4552\"\u003e#4552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-prohibited-attr:\u003c/strong\u003e quote the element name in no-role messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5391\"\u003e#5391\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/24736a4f3df243c1de692f17dd0e1e3d23a4542d\"\u003e24736a4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3730\"\u003e#3730\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e allow caption in table, grid and treegrid (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5412\"\u003e#5412\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/ed987a21521f4186ad83de547af4de9477a521e5\"\u003eed987a2\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5265\"\u003e#5265\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003earia-required-children:\u003c/strong\u003e explain presentational children that cannot be ignored (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5407\"\u003e#5407\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/35a38d811672023d38fdb440bdd2e402575a52d8\"\u003e35a38d8\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4833\"\u003e#4833\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eavoid-inline-spacing:\u003c/strong\u003e test the text that gets the spacing from the element (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5411\"\u003e#5411\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/96e3e067f9f2270549ffe72e5b07cf9f3945d1fb\"\u003e96e3e06\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4232\"\u003e#4232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e add incomplete messages to checks that can return undefined (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5388\"\u003e#5388\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6f1a6febfe15b938742a0125597f024dae1603ed\"\u003e6f1a6fe\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5375\"\u003e#5375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echecks:\u003c/strong\u003e make listitem failure messages actionable (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6dd1be286097de3844962d20818810855d8b75cf\"\u003e6dd1be2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e handle \u0026quot;none\u0026quot; and exponents in color strings (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5422\"\u003e#5422\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cf5ed89708895c4bffff8cacf345323be4338412\"\u003ecf5ed89\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5313\"\u003e#5313\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4136\"\u003e#4136\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4007\"\u003e#4007\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4269\"\u003e#4269\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecolor-contrast:\u003c/strong\u003e treat empty low-contrast text inputs as incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5359\"\u003e#5359\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/47029deca0d8e9d0bcbe94f15bf8393ba69241f9\"\u003e47029de\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4260\"\u003e#4260\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2130\"\u003e#2130\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/dom:\u003c/strong\u003e treat dialog as non-modal when elementsFromPoint is unsupported (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5202\"\u003e#5202\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/757b44af26bdd566707d513918c5db7879dd1e2e\"\u003e757b44a\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4997\"\u003e#4997\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecommons/text/visibleVirtual:\u003c/strong\u003e sanitize visible text once, not at every level (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5368\"\u003e#5368\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2d4718219f7db134de4f7cf3d741a8ce702e37d6\"\u003e2d47182\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecore:\u003c/strong\u003e use the fallback message when a check has no incomplete message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5367\"\u003e#5367\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4887c3a880dc5c58649bb1d5c72b79dda3393312\"\u003e4887c3a\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e add support for cjk word splitting (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5437\"\u003e#5437\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/d53cb0ad64e90dff0eb744b98a29d69a2d6dd5e1\"\u003ed53cb0a\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e compare visible label to name by word (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4e3fcf56670738da96e0d6b529897d1af86e46c4\"\u003e4e3fcf5\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5346\"\u003e#5346\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4311\"\u003e#4311\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5302\"\u003e#5302\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5203\"\u003e#5203\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e ignore parenthesised content (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5360\"\u003e#5360\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/388132db27a82c08e39d1049f3cce2f18a118500\"\u003e388132d\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/2443\"\u003eact-rules/act-rules.github.io#2443\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5207\"\u003e#5207\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e mark value-text roles incomplete (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/5258f4439e05434ae0313017a8048c9611229396\"\u003e5258f44\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e, references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4561\"\u003e#4561\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5344\"\u003e#5344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elabel-content-name-mismatch:\u003c/strong\u003e normalize CJK and full-width text before comparing (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5419\"\u003e#5419\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/52dd387c94adb0b12cc4531ba34e8c2bd4c3b274\"\u003e52dd387\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5420\"\u003e#5420\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5340\"\u003e#5340\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5345\"\u003e#5345\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5355\"\u003e#5355\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5308\"\u003e#5308\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5400\"\u003e#5400\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-focusable-content:\u003c/strong\u003e say how to fix in the default fail message (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5392\"\u003e#5392\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/b84b76bb32733b408b43ed7634e76974e38e5a95\"\u003eb84b76b\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3194\"\u003e#3194\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5357\"\u003e#5357\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3267\"\u003e#3267\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ep-as-heading:\u003c/strong\u003e ignore paragraphs with heading roles (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5348\"\u003e#5348\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/cbc33b967cadc6bcc4cd34309f21742d0c0ff62c\"\u003ecbc33b9\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5283\"\u003e#5283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eprocess-message:\u003c/strong\u003e separate array values with a comma and a space (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5393\"\u003e#5393\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6ba9ee48e153f609cdb6ed04360ce8be2731a472\"\u003e6ba9ee4\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/3344\"\u003e#3344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter:\u003c/strong\u003e make addReporter isDefault set the default reporter (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5395\"\u003e#5395\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/eb854ed3e7498f1c1c6bd941b44181455a8e4866\"\u003eeb854ed\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4058\"\u003e#4058\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escrollable-region-focusable:\u003c/strong\u003e negative tabindex content needs review instead of failing outright (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5364\"\u003e#5364\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/72e86242e518f6fd82508d842ce103590393adbd\"\u003e72e8624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etarget-size:\u003c/strong\u003e ignore overlapping links with the same destination (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5428\"\u003e#5428\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2ba0812fda58779ac285ba62fe9c27110a391f96\"\u003e2ba0812\u003c/a\u003e), references \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5406\"\u003e#5406\u003c/a\u003e \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/4224\"\u003e#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate de.json (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5353\"\u003e#5353\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/4d306cbb7c456849c6f964444a6a7174d2be502a\"\u003e4d306cb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils:\u003c/strong\u003e resolve \u003ca href=\"https://github.com/import\"\u003e\u003ccode\u003e@​import\u003c/code\u003e\u003c/a\u003e url against the stylesheet that contains it (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5269\"\u003e#5269\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core/commit/e618fb6cfabab7e153319256d09802b043e916dc\"\u003ee618fb6\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5268\"\u003e#5268\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/e797173108eadfa4355fe06af331791734e1757f\"\u003e\u003ccode\u003ee797173\u003c/code\u003e\u003c/a\u003e chore(release): v4.14.0 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5438\"\u003e#5438\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6976881267359ef095ba04bea4a44ceed51c25a2\"\u003e\u003ccode\u003e6976881\u003c/code\u003e\u003c/a\u003e chore(release): 4.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/d53cb0ad64e90dff0eb744b98a29d69a2d6dd5e1\"\u003e\u003ccode\u003ed53cb0a\u003c/code\u003e\u003c/a\u003e fix(label-content-name-mismatch): add support for cjk word splitting (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5437\"\u003e#5437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/35a38d811672023d38fdb440bdd2e402575a52d8\"\u003e\u003ccode\u003e35a38d8\u003c/code\u003e\u003c/a\u003e fix(aria-required-children): explain presentational children that cannot be i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2ba0812fda58779ac285ba62fe9c27110a391f96\"\u003e\u003ccode\u003e2ba0812\u003c/code\u003e\u003c/a\u003e fix(target-size): ignore overlapping links with the same destination (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5428\"\u003e#5428\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/1e33c6caf879e204a664e85c6cd49f0c9c5e5d31\"\u003e\u003ccode\u003e1e33c6c\u003c/code\u003e\u003c/a\u003e fix(aria-allowed-attr): report case-sensitive aria attributes with non-lowerc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/f59642eddf14c93ae3c9c31d69bcd611229bedb4\"\u003e\u003ccode\u003ef59642e\u003c/code\u003e\u003c/a\u003e chore: bump mocha from 11.8.0 to 12.0.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/6efcb6e8408dcee3d44ee813d66f557de145f373\"\u003e\u003ccode\u003e6efcb6e\u003c/code\u003e\u003c/a\u003e chore: bump emoji-regex from 10.6.0 to 11.0.0 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5427\"\u003e#5427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/2da49a3fa8b474a0dd8069c9dc6b1aaf3b457df0\"\u003e\u003ccode\u003e2da49a3\u003c/code\u003e\u003c/a\u003e chore: bump the npm-low-risk group across 1 directory with 7 updates (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5425\"\u003e#5425\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core/commit/aa4a0a1966b8d858fcd7e9f7acffac39fac006e3\"\u003e\u003ccode\u003eaa4a0a1\u003c/code\u003e\u003c/a\u003e fix(aria-hidden-focus): suggest removing aria-hidden in the fail messages (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dequelabs/axe-core/compare/v4.13.0...v4.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.4.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle ex...\n\n_Description has been truncated_","html_url":"https://github.com/Tabsi1998/OmniFM/pull/513","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tabsi1998%2FOmniFM/issues/513","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/513/packages"}},{"old_version":"18.4.0","new_version":"18.4.1","update_type":"patch","path":null,"pr_created_at":"2026-10-17T15:18:50.000Z","version_change":"18.4.0 → 18.4.1","issue":{"uuid":"5899845670","node_id":"PR_kwDOP3kikM8AAAABJCOUaw","number":1597,"state":"closed","title":"chore: bump the npm-minor-patch group with 66 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":"2026-10-18T07:52:23.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-17T15:18:50.000Z","updated_at":"2026-10-18T07:52:25.000Z","time_to_close":59613,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore: bump","group_name":"npm-minor-patch","update_count":66,"packages":[{"name":"@effect/language-service","old_version":"0.87.3","new_version":"0.87.4","repository_url":"https://github.com/Effect-TS/language-service"},{"name":"@lingui/cli","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@oxlint/migrate","old_version":"1.86.0","new_version":"1.88.0","repository_url":"https://github.com/oxc-project/oxlint-migrate"},{"name":"@rnw-community/eslint-plugin","old_version":"2.12.7","new_version":"2.19.3","repository_url":"https://github.com/rnw-community/rnw-community"},{"name":"@types/react","old_version":"19.2.18","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react-dom","old_version":"19.2.5","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"jscpd","old_version":"5.3.3","new_version":"5.4.1","repository_url":"https://github.com/kucherenko/jscpd"},{"name":"knip","old_version":"6.38.0","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"oxfmt","old_version":"0.71.0","new_version":"0.73.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.86.0","new_version":"1.88.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"turbo","old_version":"2.11.5","new_version":"2.11.8","repository_url":"https://github.com/vercel/turborepo"},{"name":"effect","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@effect/atom-react","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@effect/sql-sqlite-react-native","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@expo/fingerprint","old_version":"0.21.2","new_version":"0.21.5","repository_url":"https://github.com/expo/expo"},{"name":"@expo/ui","old_version":"58.0.10","new_version":"58.0.16","repository_url":"https://github.com/expo/expo"},{"name":"@lingui/core","old_version":"6.5.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@lingui/react","old_version":"6.5.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@rnw-community/react-native-screen-chrome","old_version":"2.19.0","new_version":"2.19.1","repository_url":"https://github.com/rnw-community/rnw-community"},{"name":"expo-asset","old_version":"58.0.9","new_version":"58.0.14","repository_url":"https://github.com/expo/expo"},{"name":"expo-background-task","old_version":"58.0.9","new_version":"58.0.10","repository_url":"https://github.com/expo/expo"},{"name":"expo-blur","old_version":"58.0.2","new_version":"58.0.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-build-properties","old_version":"58.0.9","new_version":"58.0.10","repository_url":"https://github.com/expo/expo"},{"name":"expo-clipboard","old_version":"58.0.2","new_version":"58.0.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-constants","old_version":"58.0.9","new_version":"58.0.11","repository_url":"https://github.com/expo/expo"},{"name":"expo-contacts","old_version":"58.0.3","new_version":"58.0.7","repository_url":"https://github.com/expo/expo"},{"name":"expo-dev-client","old_version":"58.0.9","new_version":"58.0.13","repository_url":"https://github.com/expo/expo"},{"name":"expo-document-picker","old_version":"58.0.3","new_version":"58.0.4","repository_url":"https://github.com/expo/expo"},{"name":"expo-file-system","old_version":"58.0.4","new_version":"58.0.9","repository_url":"https://github.com/expo/expo"},{"name":"expo-haptics","old_version":"58.0.3","new_version":"58.0.6","repository_url":"https://github.com/expo/expo"},{"name":"expo-image","old_version":"58.0.9","new_version":"58.0.14","repository_url":"https://github.com/expo/expo"},{"name":"expo-linear-gradient","old_version":"58.0.2","new_version":"58.0.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-linking","old_version":"58.0.9","new_version":"58.0.12","repository_url":"https://github.com/expo/expo"},{"name":"expo-local-authentication","old_version":"58.0.1","new_version":"58.0.2","repository_url":"https://github.com/expo/expo"},{"name":"expo-localization","old_version":"58.0.2","new_version":"58.0.4","repository_url":"https://github.com/expo/expo"},{"name":"expo-notifications","old_version":"58.0.10","new_version":"58.1.3","repository_url":"https://github.com/expo/expo"},{"name":"expo-router","old_version":"58.0.11","new_version":"58.0.18","repository_url":"https://github.com/expo/expo"},{"name":"expo-screen-capture","old_version":"58.0.4","new_version":"58.0.5","repository_url":"https://github.com/expo/expo"},{"name":"expo-secure-store","old_version":"58.0.1","new_version":"58.0.2","repository_url":"https://github.com/expo/expo"},{"name":"expo-sharing","old_version":"58.0.12","new_version":"58.0.17","repository_url":"https://github.com/expo/expo"},{"name":"expo-splash-screen","old_version":"58.0.3","new_version":"58.0.8","repository_url":"https://github.com/expo/expo"},{"name":"expo-system-ui","old_version":"58.0.4","new_version":"58.0.5","repository_url":"https://github.com/expo/expo"},{"name":"expo-task-manager","old_version":"58.0.10","new_version":"58.0.11","repository_url":"https://github.com/expo/expo"},{"name":"expo-updates","old_version":"58.0.12","new_version":"58.0.16","repository_url":"https://github.com/expo/expo"},{"name":"expo-widgets","old_version":"58.0.10","new_version":"58.0.16","repository_url":"https://github.com/expo/expo"},{"name":"react-hook-form","old_version":"7.77.0","new_version":"7.90.0","repository_url":"https://github.com/react-hook-form/react-hook-form"},{"name":"react-native-gesture-handler","old_version":"3.2.1","new_version":"3.3.0","repository_url":"https://github.com/software-mansion/react-native-gesture-handler"},{"name":"react-native-keyboard-controller","old_version":"1.22.4","new_version":"1.22.7","repository_url":"https://github.com/kirillzyusko/react-native-keyboard-controller"},{"name":"react-native-reanimated","old_version":"4.7.0","new_version":"4.7.1","repository_url":"https://github.com/software-mansion/react-native-reanimated"},{"name":"react-native-safe-area-context","old_version":"5.9.1","new_version":"5.10.1","repository_url":"https://github.com/appandflow/react-native-safe-area-context"},{"name":"react-native-screens","old_version":"4.28.0","new_version":"4.30.0","repository_url":"https://github.com/software-mansion/react-native-screens"},{"name":"react-native-web","old_version":"0.21.3","new_version":"0.21.4","repository_url":"https://github.com/necolas/react-native-web"},{"name":"uniwind","old_version":"1.12.1","new_version":"1.12.2","repository_url":"https://github.com/uni-stack/uniwind"},{"name":"@anthropic-ai/sdk","old_version":"0.129.0","new_version":"0.133.0","repository_url":"https://github.com/anthropics/anthropic-sdk-typescript"},{"name":"@effect/vitest","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@lingui/babel-plugin-lingui-macro","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"@lingui/format-po","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"babel-preset-expo","old_version":"58.0.6","new_version":"58.0.13","repository_url":"https://github.com/expo/expo"},{"name":"vitest","old_version":"5.0.2","new_version":"5.0.4","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@effect/sql-sqlite-node","old_version":"4.0.0","new_version":"4.0.4","repository_url":"https://github.com/Effect-TS/effect"},{"name":"@radix-ui/react-accordion","old_version":"1.2.20","new_version":"1.3.1","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@radix-ui/react-dropdown-menu","old_version":"2.1.24","new_version":"2.2.1","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@radix-ui/react-slot","old_version":"1.3.3","new_version":"1.5.0","repository_url":"https://github.com/radix-ui/primitives"},{"name":"@lingui/loader","old_version":"6.8.0","new_version":"6.9.1","repository_url":"https://github.com/lingui/js-lingui"},{"name":"postcss","old_version":"8.5.28","new_version":"8.5.30","repository_url":"https://github.com/postcss/postcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-minor-patch group with 66 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@effect/language-service](https://github.com/Effect-TS/language-service) | `0.87.3` | `0.87.4` |\n| [@lingui/cli](https://github.com/lingui/js-lingui/tree/HEAD/packages/cli) | `6.8.0` | `6.9.1` |\n| [@oxlint/migrate](https://github.com/oxc-project/oxlint-migrate) | `1.86.0` | `1.88.0` |\n| [@rnw-community/eslint-plugin](https://github.com/rnw-community/rnw-community/tree/HEAD/packages/eslint-plugin) | `2.12.7` | `2.19.3` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [jscpd](https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd) | `5.3.3` | `5.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.38.0` | `6.41.0` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.71.0` | `0.73.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.86.0` | `1.88.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.5` | `2.11.8` |\n| [effect](https://github.com/Effect-TS/effect/tree/HEAD/packages/effect) | `4.0.0` | `4.0.4` |\n| [@effect/atom-react](https://github.com/Effect-TS/effect/tree/HEAD/packages/atom/react) | `4.0.0` | `4.0.4` |\n| [@effect/sql-sqlite-react-native](https://github.com/Effect-TS/effect/tree/HEAD/packages/sql/sqlite-react-native) | `4.0.0` | `4.0.4` |\n| [@expo/fingerprint](https://github.com/expo/expo/tree/HEAD/packages/@expo/fingerprint) | `0.21.2` | `0.21.5` |\n| [@expo/ui](https://github.com/expo/expo/tree/HEAD/packages/expo-ui) | `58.0.10` | `58.0.16` |\n| [@lingui/core](https://github.com/lingui/js-lingui/tree/HEAD/packages/core) | `6.5.0` | `6.9.1` |\n| [@lingui/react](https://github.com/lingui/js-lingui/tree/HEAD/packages/react) | `6.5.0` | `6.9.1` |\n| [@rnw-community/react-native-screen-chrome](https://github.com/rnw-community/rnw-community/tree/HEAD/packages/react-native-screen-chrome) | `2.19.0` | `2.19.1` |\n| [expo-asset](https://github.com/expo/expo/tree/HEAD/packages/expo-asset) | `58.0.9` | `58.0.14` |\n| [expo-background-task](https://github.com/expo/expo/tree/HEAD/packages/expo-background-task) | `58.0.9` | `58.0.10` |\n| [expo-blur](https://github.com/expo/expo/tree/HEAD/packages/expo-blur) | `58.0.2` | `58.0.3` |\n| [expo-build-properties](https://github.com/expo/expo/tree/HEAD/packages/expo-build-properties) | `58.0.9` | `58.0.10` |\n| [expo-clipboard](https://github.com/expo/expo/tree/HEAD/packages/expo-clipboard) | `58.0.2` | `58.0.3` |\n| [expo-constants](https://github.com/expo/expo/tree/HEAD/packages/expo-constants) | `58.0.9` | `58.0.11` |\n| [expo-contacts](https://github.com/expo/expo/tree/HEAD/packages/expo-contacts) | `58.0.3` | `58.0.7` |\n| [expo-dev-client](https://github.com/expo/expo/tree/HEAD/packages/expo-dev-client) | `58.0.9` | `58.0.13` |\n| [expo-document-picker](https://github.com/expo/expo/tree/HEAD/packages/expo-document-picker) | `58.0.3` | `58.0.4` |\n| [expo-file-system](https://github.com/expo/expo/tree/HEAD/packages/expo-file-system) | `58.0.4` | `58.0.9` |\n| [expo-haptics](https://github.com/expo/expo/tree/HEAD/packages/expo-haptics) | `58.0.3` | `58.0.6` |\n| [expo-image](https://github.com/expo/expo/tree/HEAD/packages/expo-image) | `58.0.9` | `58.0.14` |\n| [expo-linear-gradient](https://github.com/expo/expo/tree/HEAD/packages/expo-linear-gradient) | `58.0.2` | `58.0.3` |\n| [expo-linking](https://github.com/expo/expo/tree/HEAD/packages/expo-linking) | `58.0.9` | `58.0.12` |\n| [expo-local-authentication](https://github.com/expo/expo/tree/HEAD/packages/expo-local-authentication) | `58.0.1` | `58.0.2` |\n| [expo-localization](https://github.com/expo/expo/tree/HEAD/packages/expo-localization) | `58.0.2` | `58.0.4` |\n| [expo-notifications](https://github.com/expo/expo/tree/HEAD/packages/expo-notifications) | `58.0.10` | `58.1.3` |\n| [expo-router](https://github.com/expo/expo/tree/HEAD/packages/expo-router) | `58.0.11` | `58.0.18` |\n| [expo-screen-capture](https://github.com/expo/expo/tree/HEAD/packages/expo-screen-capture) | `58.0.4` | `58.0.5` |\n| [expo-secure-store](https://github.com/expo/expo/tree/HEAD/packages/expo-secure-store) | `58.0.1` | `58.0.2` |\n| [expo-sharing](https://github.com/expo/expo/tree/HEAD/packages/expo-sharing) | `58.0.12` | `58.0.17` |\n| [expo-splash-screen](https://github.com/expo/expo/tree/HEAD/packages/expo-splash-screen) | `58.0.3` | `58.0.8` |\n| [expo-system-ui](https://github.com/expo/expo/tree/HEAD/packages/expo-system-ui) | `58.0.4` | `58.0.5` |\n| [expo-task-manager](https://github.com/expo/expo/tree/HEAD/packages/expo-task-manager) | `58.0.10` | `58.0.11` |\n| [expo-updates](https://github.com/expo/expo/tree/HEAD/packages/expo-updates) | `58.0.12` | `58.0.16` |\n| [expo-widgets](https://github.com/expo/expo/tree/HEAD/packages/expo-widgets) | `58.0.10` | `58.0.16` |\n| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.77.0` | `7.90.0` |\n| [react-native-gesture-handler](https://github.com/software-mansion/react-native-gesture-handler) | `3.2.1` | `3.3.0` |\n| [react-native-keyboard-controller](https://github.com/kirillzyusko/react-native-keyboard-controller) | `1.22.4` | `1.22.7` |\n| [react-native-reanimated](https://github.com/software-mansion/react-native-reanimated/tree/HEAD/packages/react-native-reanimated) | `4.7.0` | `4.7.1` |\n| [react-native-safe-area-context](https://github.com/appandflow/react-native-safe-area-context) | `5.9.1` | `5.10.1` |\n| [react-native-screens](https://github.com/software-mansion/react-native-screens) | `4.28.0` | `4.30.0` |\n| [react-native-web](https://github.com/necolas/react-native-web) | `0.21.3` | `0.21.4` |\n| [uniwind](https://github.com/uni-stack/uniwind) | `1.12.1` | `1.12.2` |\n| [@anthropic-ai/sdk](https://github.com/anthropics/anthropic-sdk-typescript) | `0.129.0` | `0.133.0` |\n| [@effect/vitest](https://github.com/Effect-TS/effect/tree/HEAD/packages/vitest) | `4.0.0` | `4.0.4` |\n| [@lingui/babel-plugin-lingui-macro](https://github.com/lingui/js-lingui/tree/HEAD/packages/babel-plugin-lingui-macro) | `6.8.0` | `6.9.1` |\n| [@lingui/format-po](https://github.com/lingui/js-lingui/tree/HEAD/packages/format-po) | `6.8.0` | `6.9.1` |\n| [babel-preset-expo](https://github.com/expo/expo/tree/HEAD/packages/babel-preset-expo) | `58.0.6` | `58.0.13` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.2` | `5.0.4` |\n| [@effect/sql-sqlite-node](https://github.com/Effect-TS/effect/tree/HEAD/packages/sql/sqlite-node) | `4.0.0` | `4.0.4` |\n| [@radix-ui/react-accordion](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/accordion) | `1.2.20` | `1.3.1` |\n| [@radix-ui/react-dropdown-menu](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/dropdown-menu) | `2.1.24` | `2.2.1` |\n| [@radix-ui/react-slot](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/slot) | `1.3.3` | `1.5.0` |\n| [@lingui/loader](https://github.com/lingui/js-lingui/tree/HEAD/packages/loader) | `6.8.0` | `6.9.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.28` | `8.5.30` |\n\nUpdates `@effect/language-service` from 0.87.3 to 0.87.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Effect-TS/language-service/releases\"\u003e@​effect/language-service's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​effect/language-service\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.87.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/Effect-TS/language-service/pull/777\"\u003e#777\u003c/a\u003e \u003ca href=\"https://github.com/Effect-TS/language-service/commit/4478eec0725b45f6b913cb081ab591aafde48a06\"\u003e\u003ccode\u003e4478eec\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/CasperEngl\"\u003e\u003ccode\u003e@​CasperEngl\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003emissedPipeableOpportunity\u003c/code\u003e now reports calls whose result is used as a method receiver, and the calls nested inside them. These were skipped before:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// now reported: `Inner.pipe(...)`\nexport const B = Schema.NullishOr(Inner).annotations({ identifier: \u0026quot;B\u0026quot; });\n\u003cp\u003e// now reported, including the nested \u003ccode\u003eSchema.Array(Inner)\u003c/code\u003e\u003cbr /\u003e\nexport const C = Schema.NullishOr(\u003cbr /\u003e\nSchema.Struct({ x: Schema.Array(Inner) })\u003cbr /\u003e\n).annotations({ identifier: \u0026quot;C\u0026quot; });\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eOther diagnostics built on the same piping analysis, such as \u003ccode\u003eflatMapToMap\u003c/code\u003e and \u003ccode\u003estrictEffectProvide\u003c/code\u003e, now also check calls in these positions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Effect-TS/language-service/commit/0681c52790a878362a5dcd7fe116cbb594655a32\"\u003e\u003ccode\u003e0681c52\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/Effect-TS/language-service/issues/778\"\u003e#778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Effect-TS/language-service/commit/4478eec0725b45f6b913cb081ab591aafde48a06\"\u003e\u003ccode\u003e4478eec\u003c/code\u003e\u003c/a\u003e Report missed pipeable calls used as method receivers (\u003ca href=\"https://redirect.github.com/Effect-TS/language-service/issues/777\"\u003e#777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.87.3...@effect/language-service@0.87.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@lingui/cli` from 6.8.0 to 6.9.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lingui/js-lingui/releases\"\u003e@​lingui/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.9.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.9.0...v6.9.1\"\u003e6.9.1\u003c/a\u003e (2026-10-09)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eformat-csv:\u003c/strong\u003e read catalogs that end with a line break (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2696\"\u003e#2696\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/c3b7838a4a8ab734ee8c48458ea67af9a72e7528\"\u003ec3b7838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e fail early when native transform is used with Solid (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2708\"\u003e#2708\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/15549f3cec626ab59eac1de00cccbbb56730c84f\"\u003e15549f3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e strip query from module id before native macro transform (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2703\"\u003e#2703\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/10c1b79b6b287983593946fb965b8b0b558b96c1\"\u003e10c1b79\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e write experimental extractor catalogs in worker pool (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2715\"\u003e#2715\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/f7731f2a3e07145c45e2a62482ab3496302b5536\"\u003ef7731f2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev6.9.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.8.0...v6.9.0\"\u003e6.9.0\u003c/a\u003e (2026-10-01)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e use native macro transformer in experimental extractor (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2685\"\u003e#2685\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/71b439493cc351c8aa1df83a2e785afe3afed467\"\u003e71b4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e add native macro transformer (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2686\"\u003e#2686\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/2a576d324c222e318ae8ab5e49c57004ef675063\"\u003e2a576d3\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e resolve workers from caller source (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2682\"\u003e#2682\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/cac98805cec97dbd874fd5b90c5440143e26420d\"\u003ecac9880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eformat-po-gettext:\u003c/strong\u003e write one msgstr per plural form of locale (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2690\"\u003e#2690\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/9f400ef68f5a19de0a893e638594425373d8dbd7\"\u003e9f400ef\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esolid:\u003c/strong\u003e match macro-accepted placeholder names in formatElements (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2687\"\u003e#2687\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/f97cb9210cad63df10af3e921cefbbb30ed74857\"\u003ef97cb92\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/lingui/js-lingui/blob/main/packages/cli/CHANGELOG.md\"\u003e@​lingui/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.9.0...v6.9.1\"\u003e6.9.1\u003c/a\u003e (2026-10-09)\u003c/h2\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e write experimental extractor catalogs in worker pool (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2715\"\u003e#2715\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/f7731f2a3e07145c45e2a62482ab3496302b5536\"\u003ef7731f2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/lingui/js-lingui/compare/v6.8.0...v6.9.0\"\u003e6.9.0\u003c/a\u003e (2026-10-01)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e resolve workers from caller source (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2682\"\u003e#2682\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/cac98805cec97dbd874fd5b90c5440143e26420d\"\u003ecac9880\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003euse native macro transformer in experimental extractor (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2685\"\u003e#2685\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/71b439493cc351c8aa1df83a2e785afe3afed467\"\u003e71b4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evite-plugin:\u003c/strong\u003e add native macro transformer (\u003ca href=\"https://redirect.github.com/lingui/js-lingui/issues/2686\"\u003e#2686\u003c/a\u003e) (\u003ca href=\"https://github.com/lingui/js-lingui/commit/2a576d324c222e318ae8ab5e49c57004ef675063\"\u003e2a576d3\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/lingui/js-lingui/commit/4d3390340b0e5700b2a18f60142f2ffa69e887a6\"\u003e\u003ccode\u003e4d33903\u003c/code\u003e\u003c/a\u003e chore(release): published v6.9.1 [skip ci] (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2716\"\u003e#2716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/f7731f2a3e07145c45e2a62482ab3496302b5536\"\u003e\u003ccode\u003ef7731f2\u003c/code\u003e\u003c/a\u003e perf(cli): write experimental extractor catalogs in worker pool (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2715\"\u003e#2715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/cd0ac4d9f76f1550823d0845e1c216b05895b96d\"\u003e\u003ccode\u003ecd0ac4d\u003c/code\u003e\u003c/a\u003e chore: bump native-tools to 0.1.6 (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2713\"\u003e#2713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/8af2ec8543f1ad7934e1d5f6c2b6714218fd9a90\"\u003e\u003ccode\u003e8af2ec8\u003c/code\u003e\u003c/a\u003e chore(release): published v6.9.0 [skip ci] (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2695\"\u003e#2695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/cf3d251f69683cd346e49d9d90eced95fea25f5d\"\u003e\u003ccode\u003ecf3d251\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​lingui/native-tools\u003c/code\u003e to 0.1.5 (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2691\"\u003e#2691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/2a576d324c222e318ae8ab5e49c57004ef675063\"\u003e\u003ccode\u003e2a576d3\u003c/code\u003e\u003c/a\u003e feat(vite-plugin): add native macro transformer (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2686\"\u003e#2686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/cac98805cec97dbd874fd5b90c5440143e26420d\"\u003e\u003ccode\u003ecac9880\u003c/code\u003e\u003c/a\u003e fix(cli): resolve workers from caller source (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2682\"\u003e#2682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lingui/js-lingui/commit/71b439493cc351c8aa1df83a2e785afe3afed467\"\u003e\u003ccode\u003e71b4394\u003c/code\u003e\u003c/a\u003e feat: use native macro transformer in experimental extractor (\u003ca href=\"https://github.com/lingui/js-lingui/tree/HEAD/packages/cli/issues/2685\"\u003e#2685\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lingui/js-lingui/commits/v6.9.1/packages/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@oxlint/migrate` from 1.86.0 to 1.88.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/releases\"\u003e@​oxlint/migrate's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.88.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/compare/v1.87.0...v1.88.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev1.87.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNo significant changes\u003c/em\u003e\u003c/p\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/compare/v1.86.0...v1.87.0\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/097f3ca81511479298e05beb03f9845ea97b8c00\"\u003e\u003ccode\u003e097f3ca\u003c/code\u003e\u003c/a\u003e release: v1.88.0 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/a385f78e2db2291cf44b9139e465dd95099b4224\"\u003e\u003ccode\u003ea385f78\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/setup-node action to v7.1.0 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/f1ab401ee127c95326bd3a838dc06f1698702ddc\"\u003e\u003ccode\u003ef1ab401\u003c/code\u003e\u003c/a\u003e release: v1.87.0 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/582\"\u003e#582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxlint-migrate/commit/4f302f0c2c645af798ea6def120c431d04fb680c\"\u003e\u003ccode\u003e4f302f0\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency eslint-plugin-jsdoc to v65 (\u003ca href=\"https://redirect.github.com/oxc-project/oxlint-migrate/issues/581\"\u003e#581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oxc-project/oxlint-migrate/compare/v1.86.0...v1.88.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@rnw-community/eslint-plugin` from 2.12.7 to 2.19.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rnw-community/rnw-community/releases\"\u003e@​rnw-community/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.19.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.2...v2.19.3\"\u003e2.19.3\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e support ESLint 10 and drop the unused typescript-eslint peer (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/642\"\u003e#642\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/a5a2146fa8c640cd82f1b38fbaf16fd8fe0750ef\"\u003ea5a2146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.19.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.1...v2.19.2\"\u003e2.19.2\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e stop importing package.json so the published entry loads (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/641\"\u003e#641\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/6e638f4c71e8517611f74c0eeb3c8af0648fffa9\"\u003e6e638f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/530\"\u003e#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.19.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.0...v2.19.1\"\u003e2.19.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-screen-chrome:\u003c/strong\u003e fade native edge bands through a gradient mask (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/640\"\u003e#640\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/11e308f4b4c4d4b14e65924f702536523a308a64\"\u003e11e308f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.19.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.18.0...v2.19.0\"\u003e2.19.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-screen-chrome:\u003c/strong\u003e additive content insets and consumer ref on the scroll view (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/627\"\u003e#627\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/07fc5bb615b3b9d223e24bd7cb137d37b5076008\"\u003e07fc5bb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.18.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.17.3...v2.18.0\"\u003e2.18.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-collapsible-header:\u003c/strong\u003e opt-in native scroll offset sync (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/628\"\u003e#628\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/27fc1b6254450e315ac992e342a4d4220bdef3c3\"\u003e27fc1b6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.17.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.17.2...v2.17.3\"\u003e2.17.3\u003c/a\u003e (2026-08-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecollapsible header safe-area layout, accessibility handoff, and shell hit testing (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/620\"\u003e#620\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/ac84c8c20b881d098479121e85f45cad76eae6fa\"\u003eac84c8c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/619\"\u003e#619\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/618\"\u003e#618\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/621\"\u003e#621\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.17.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.17.1...v2.17.2\"\u003e2.17.2\u003c/a\u003e (2026-08-28)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ereact-native-screen-chrome:\u003c/strong\u003e preserve child ref cleanups in mergeRefs (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/617\"\u003e#617\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/53a54041852daf2d35335f007d7757f0dbd58069\"\u003e53a5404\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.17.1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/rnw-community/rnw-community/blob/master/packages/eslint-plugin/CHANGELOG.md\"\u003e@​rnw-community/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.2...v2.19.3\"\u003e2.19.3\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e support ESLint 10 and drop the unused typescript-eslint peer (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/642\"\u003e#642\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/a5a2146fa8c640cd82f1b38fbaf16fd8fe0750ef\"\u003ea5a2146\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.19.1...v2.19.2\"\u003e2.19.2\u003c/a\u003e (2026-10-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e stop importing package.json so the published entry loads (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/641\"\u003e#641\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/6e638f4c71e8517611f74c0eeb3c8af0648fffa9\"\u003e6e638f4\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/530\"\u003e#530\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.15.1...v2.15.2\"\u003e2.15.2\u003c/a\u003e (2026-08-27)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.14.1...v2.15.0\"\u003e2.15.0\u003c/a\u003e (2026-08-26)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.14.0...v2.14.1\"\u003e2.14.1\u003c/a\u003e (2026-08-19)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.12...v2.12.13\"\u003e2.12.13\u003c/a\u003e (2026-08-10)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.11...v2.12.12\"\u003e2.12.12\u003c/a\u003e (2026-08-09)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.9...v2.12.10\"\u003e2.12.10\u003c/a\u003e (2026-08-06)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003enodenext spec type-check gate and ioredis import regression (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/541\"\u003e#541\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/e14ab3c1c8ead519008e7818eb1acd8066904407\"\u003ee14ab3c\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/532\"\u003e#532\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.8...v2.12.9\"\u003e2.12.9\u003c/a\u003e (2026-08-05)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eemit explicit .js extensions so dist/esm resolves under real Node ESM (\u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/532\"\u003e#532\u003c/a\u003e) (\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/aa505b85416479a8cf9aeeeb8f77549f24c726b2\"\u003eaa505b8\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e \u003ca href=\"https://redirect.github.com/rnw-community/rnw-community/issues/531\"\u003e#531\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/compare/v2.12.7...v2.12.8\"\u003e2.12.8\u003c/a\u003e (2026-08-05)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​rnw-community/eslint-plugin\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/5c635876ca5e1fdc9319ecda2dab0b67d2b79244\"\u003e\u003ccode\u003e5c63587\u003c/code\u003e\u003c/a\u003e chore: release v2.19.3 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/6e94a08efd4481af9684fb192f3be28261ef3bfd\"\u003e\u003ccode\u003e6e94a08\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): support ESLint 10 and drop the unused typescript-eslint p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/cf0b01a439de10d93b694b216e41b3f17e7d802c\"\u003e\u003ccode\u003ecf0b01a\u003c/code\u003e\u003c/a\u003e chore: release v2.19.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/e10e175eac4e2de201e0fa6e8acc0b47217dd14c\"\u003e\u003ccode\u003ee10e175\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): stop importing package.json so the published entry loads ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/81c08a3178d30f8598ca08a26e592cd07e250e44\"\u003e\u003ccode\u003e81c08a3\u003c/code\u003e\u003c/a\u003e chore: release v2.15.2 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/3ddbf8d39540c619e2bf1b1a087ea07de1190bf0\"\u003e\u003ccode\u003e3ddbf8d\u003c/code\u003e\u003c/a\u003e test(nestjs-webpack-swc): close the coverage-straggler gap alongside eslint-p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/23b7fbdfa416c622a78c01b90740448ffbf4b1ac\"\u003e\u003ccode\u003e23b7fbd\u003c/code\u003e\u003c/a\u003e chore: release v2.15.0 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/477cefe6482ae7218fbaf4d29a4378a57a7da934\"\u003e\u003ccode\u003e477cefe\u003c/code\u003e\u003c/a\u003e chore: migrate from yarn to pnpm (\u003ca href=\"https://github.com/rnw-community/rnw-community/tree/HEAD/packages/eslint-plugin/issues/602\"\u003e#602\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/12d19a040a22934671a688fefe72a2312f20f907\"\u003e\u003ccode\u003e12d19a0\u003c/code\u003e\u003c/a\u003e chore: release v2.14.1 [skip ci]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rnw-community/rnw-community/commit/b9b822ae2f32b6843f1449ea71a91081ca914308\"\u003e\u003ccode\u003eb9b822a\u003c/code\u003e\u003c/a\u003e test(eslint-plugin): cover logical-AND prop and handler call cases in no-comp...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/rnw-community/rnw-community/commits/v2.19.3/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.18 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react-dom` from 19.2.5 to 19.3.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.4.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jscpd` from 5.3.3 to 5.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kucherenko/jscpd/releases\"\u003ejscpd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v5.4.1\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--similarity\u003c/code\u003e compares the structure of functions in 15 languages.\u003c/strong\u003e jscpd parses every function and method and normalizes its syntax tree: the names of the functions it calls and its operators stay, local names, field names and literals become markers, and comments and the parentheses around one expression drop out. Every subtree of that tree is a fingerprint, and two functions score the Jaccard index of their two fingerprint sets, so a renamed copy scores 1 and an edited statement lowers the score.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIt reads JavaScript, TypeScript, Python, Java, Kotlin, Scala, C#, Go, Rust, C, C++, PHP, Ruby, Swift and Clojure, and the code blocks of Markdown files and the scripts of Vue, Svelte and Astro components. 5.4.0 compared JavaScript and TypeScript only.\u003c/li\u003e\n\u003cli\u003eThe search is exact: it finds every pair at or above the ratio. A function nested in another is part of it, and test files and Rust \u003ccode\u003emod tests\u003c/code\u003e are left out. Code between \u003ccode\u003ejscpd:ignore-start\u003c/code\u003e and \u003ccode\u003ejscpd:ignore-end\u003c/code\u003e, or matched by \u003ccode\u003e--ignore-pattern\u003c/code\u003e, adds nothing to a function (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1144\"\u003e#1144\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--similarity\u003c/code\u003e alone compares at 0.8. \u003ccode\u003e--min-nodes\u003c/code\u003e (config key \u003ccode\u003eminNodes\u003c/code\u003e, 20 by default) sets the smallest normalized tree that takes part, \u003ccode\u003e--min-lines\u003c/code\u003e applies as before and \u003ccode\u003e--min-tokens\u003c/code\u003e does not. The JSON report gives the node count of both functions as \u003ccode\u003enodes\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eWhile the method was built, a check on 100 open-source repositories against a brute-force implementation of it, which scores every pair, found the same 58,405 pairs with the same scores, and jscpd's runs took 64.8 seconds on one thread against 498.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/similarity-demo/README.md\"\u003e\u003ccode\u003efixtures/similarity-demo\u003c/code\u003e\u003c/a\u003e has a runnable example in every language. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1129\"\u003e#1129\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1132\"\u003e#1132\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1134\"\u003e#1134\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1136\"\u003e#1136\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1139\"\u003e#1139\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1147\"\u003e#1147\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1148\"\u003e#1148\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1149\"\u003e#1149\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1150\"\u003e#1150\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1152\"\u003e#1152\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1155\"\u003e#1155\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1138\"\u003e#1138\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1141\"\u003e#1141\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1142\"\u003e#1142\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1143\"\u003e#1143\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1145\"\u003e#1145\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1146\"\u003e#1146\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAn \u003ccode\u003eedn\u003c/code\u003e reporter.\u003c/strong\u003e \u003ccode\u003e-r edn\u003c/code\u003e writes \u003ccode\u003ejscpd-report.edn\u003c/code\u003e with \u003ccode\u003e{:candidates [...] :clones [...]}\u003c/code\u003e. The candidates are every pair \u003ccode\u003e--similarity\u003c/code\u003e found, most similar first, with their score, language, both locations and node counts, also the pairs a token clone already reports. The clones are the ones the other passes found, with their kind, method and score. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1151\"\u003e#1151\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1153\"\u003e#1153\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1156\"\u003e#1156\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--changed\u003c/code\u003e reports the clones of the files you are working on.\u003c/strong\u003e The changed files are the ones \u003ccode\u003egit status\u003c/code\u003e lists: staged, unstaged and untracked files, and a renamed file under its new name. jscpd still scans every file and reports a clone when one of its fragments is in a changed file, so a new file that copies an unchanged one shows up.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe first run saves the clones of HEAD to \u003ccode\u003e.jscpd-baseline.json\u003c/code\u003e at the repository root, or to the \u003ccode\u003e--baseline\u003c/code\u003e file, with the commit and a hash of the scan paths and options. Later runs read it and mark the clones HEAD did not have as \u003ccode\u003e[NEW]\u003c/code\u003e, so \u003ccode\u003e--fail-on-new-clones\u003c/code\u003e works with it. jscpd builds the file again after a commit or for other paths or options. A baseline file without a commit, such as one \u003ccode\u003e--update-baseline\u003c/code\u003e wrote, is used as it is.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--changed-only\u003c/code\u003e scans the changed files alone, and they match only one another.\u003c/li\u003e\n\u003cli\u003eBoth flags are command line only. \u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/changed-demo/README.md\"\u003e\u003ccode\u003efixtures/changed-demo\u003c/code\u003e\u003c/a\u003e walks through five steps. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1154\"\u003e#1154\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1172\"\u003e#1172\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--report-name\u003c/code\u003e sets the base name of the report files.\u003c/strong\u003e Linter aggregators such as MegaLinter run several tools into one reports folder, and two jscpd runs there overwrote each other's \u003ccode\u003ejscpd-report.json\u003c/code\u003e. \u003ccode\u003e--report-name megalinter-jscpd\u003c/code\u003e (config key \u003ccode\u003ereportName\u003c/code\u003e) names the \u003ccode\u003ejson\u003c/code\u003e, \u003ccode\u003exml\u003c/code\u003e, \u003ccode\u003ecsv\u003c/code\u003e, \u003ccode\u003ehtml\u003c/code\u003e, \u003ccode\u003emarkdown\u003c/code\u003e, \u003ccode\u003esarif\u003c/code\u003e and \u003ccode\u003eedn\u003c/code\u003e reports, and the GitHub Action takes it as the \u003ccode\u003ereport-name\u003c/code\u003e input. The badge, OpenMetrics and CodeClimate files keep their names. The name must be a plain file name: a path, an extension or an empty name is an error. Contributed by \u003ca href=\"https://github.com/MannXo\"\u003e\u003ccode\u003e@​MannXo\u003c/code\u003e\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1015\"\u003e#1015\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1058\"\u003e#1058\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe MCP server finds every type of clone and compares folders.\u003c/strong\u003e Every tool takes \u003ccode\u003ekinds\u003c/code\u003e: \u003ccode\u003eexact\u003c/code\u003e, \u003ccode\u003erenamed\u003c/code\u003e, \u003ccode\u003esimilar\u003c/code\u003e and \u003ccode\u003esemantic\u003c/code\u003e, or \u003ccode\u003etype1\u003c/code\u003e to \u003ccode\u003etype4\u003c/code\u003e. Without it, a tool reports what \u003ccode\u003ejscpd\u003c/code\u003e reports with the server's options. \u003ccode\u003ecompare_folders(left, right)\u003c/code\u003e returns the JSON report of \u003ccode\u003e--compare\u003c/code\u003e for two folders. The server speaks the MCP revision 2026-07-28, and clients of the older revisions keep working. \u003ccode\u003echeck_duplication\u003c/code\u003e now finds every copy of a snippet, where it used to match one of two, and \u003ccode\u003e--mcp\u003c/code\u003e no longer ignores \u003ccode\u003e--semantic\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1135\"\u003e#1135\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1137\"\u003e#1137\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e--similarity\u003c/code\u003e scores differ from 5.4.0.\u003c/strong\u003e The method is new, so a pair that scored 0.85 before can score lower now. Refresh a \u003ccode\u003e--threshold\u003c/code\u003e or a baseline that was set on the old results. \u003ccode\u003e--similarity 1\u003c/code\u003e now reports functions with the same structure; up to 5.4.0 a ratio of 1 turned the search off, and jscpd prints a warning that says so. The options that the method replaced never reached a release. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1156\"\u003e#1156\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--semantic\u003c/code\u003e and \u003ccode\u003e--compare\u003c/code\u003e found functions named \u003ccode\u003eif\u003c/code\u003e in C, C++ and C# code.\u003c/strong\u003e Around \u003ccode\u003e#if\u003c/code\u003e and \u003ccode\u003e#ifdef\u003c/code\u003e, the grammars read \u003ccode\u003eelse if (…) { }\u003c/code\u003e as a function named \u003ccode\u003eif\u003c/code\u003e, or \u003ccode\u003ewhile\u003c/code\u003e or \u003ccode\u003eawait\u003c/code\u003e, and every \u003ccode\u003eif (\u003c/code\u003e in the scan counted as a call to it, so in \u003ccode\u003e--compare\u003c/code\u003e one such branch could collect thousands of callers. jscpd now drops a function whose type is the keyword \u003ccode\u003eelse\u003c/code\u003e. A word such as \u003ccode\u003eif\u003c/code\u003e, \u003ccode\u003ewhile\u003c/code\u003e or \u003ccode\u003ecatch\u003c/code\u003e before a parenthesis counts as a call only as a member, as in \u003ccode\u003epromise.catch(f)\u003c/code\u003e. Reported by \u003ca href=\"https://github.com/MysterionRise\"\u003e\u003ccode\u003e@​MysterionRise\u003c/code\u003e\u003c/a\u003e, fixed by \u003ca href=\"https://github.com/mvanhorn\"\u003e\u003ccode\u003e@​mvanhorn\u003c/code\u003e\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1163\"\u003e#1163\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1188\"\u003e#1188\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThree \u003ccode\u003e--compare\u003c/code\u003e fixes found on Apache Lucene and Lucene.NET\u003c/strong\u003e, all by \u003ca href=\"https://github.com/MysterionRise\"\u003e\u003ccode\u003e@​MysterionRise\u003c/code\u003e\u003c/a\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTest helpers now count toward the namesakes of a call. A private \u003ccode\u003eassertEquals\u003c/code\u003e in Lucene's benchmark code took all 6,127 calls to the name, 6,126 of them from tests. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1165\"\u003e#1165\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe HTML map cuts a long folder label in its middle, so the folders of one module no longer read alike. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1166\"\u003e#1166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA .NET test project counts as tests wherever \u003ccode\u003eTests\u003c/code\u003e sits in its dotted name, as in \u003ccode\u003eLucene.Net.Tests.Analysis.Common\u003c/code\u003e. Before, 6,736 functions in 771 files of such projects counted as code. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1167\"\u003e#1167\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe \u003ccode\u003e--compare\u003c/code\u003e reports disagreed.\u003c/strong\u003e The console and the HTML map now round a share the same way, so 60 of 147 functions read 41% in both. A Tests block appears only when a side has a test that counts, and a declaration without a body no longer counts as a function. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1130\"\u003e#1130\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--dead-code\u003c/code\u003e reported an import used only in a TSDoc link as unused.\u003c/strong\u003e \u003ccode\u003e{@link X}\u003c/code\u003e, \u003ccode\u003e{@linkcode X}\u003c/code\u003e and \u003ccode\u003e{@linkplain X}\u003c/code\u003e now count as uses of \u003ccode\u003eX\u003c/code\u003e, as TypeScript counts them, and in JavaScript files the JSDoc types of \u003ccode\u003e@param\u003c/code\u003e, \u003ccode\u003e@returns\u003c/code\u003e, \u003ccode\u003e@type\u003c/code\u003e and the like count too. A name in the docs credits the import only, so a function that only a link names is still reported. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1170\"\u003e#1170\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1171\"\u003e#1171\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ccode\u003e--ignore-pattern\u003c/code\u003e dropped the wrong tokens in code blocks.\u003c/strong\u003e jscpd computed the ranges on the host file but tokenized Markdown fences, component scripts and Razor blocks from the block's own offsets. The ranges now move to the block. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1144\"\u003e#1144\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003egit commands run from a hook acted on the hook's repository.\u003c/strong\u003e jscpd's git subprocesses now drop the variables git exports to hooks, such as \u003ccode\u003eGIT_DIR\u003c/code\u003e and \u003ccode\u003eGIT_INDEX_FILE\u003c/code\u003e; before, \u003ccode\u003e--baseline-from-ref\u003c/code\u003e in a pre-commit hook wrote the base tree into the commit's index. A \u003ccode\u003e--history\u003c/code\u003e range or a \u003ccode\u003e--baseline-from-ref\u003c/code\u003e ref that starts with \u003ccode\u003e-\u003c/code\u003e is refused, so a scanned repository's config can no longer pass git an option such as \u003ccode\u003e--output=\u0026lt;file\u0026gt;\u003c/code\u003e. The worktree cleanup no longer prunes the user's other worktrees, and an API key that an embeddings API echoes in an error is redacted. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1169\"\u003e#1169\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eThe Nix flake warned about \u003ccode\u003estdenv.isDarwin\u003c/code\u003e.\u003c/strong\u003e It uses \u003ccode\u003estdenv.hostPlatform.isDarwin\u003c/code\u003e now. Contributed by \u003ca href=\"https://github.com/mlavrinenko\"\u003e\u003ccode\u003e@​mlavrinenko\u003c/code\u003e\u003c/a\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1133\"\u003e#1133\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eThe minimum Rust version is 1.97.\u003c/strong\u003e oxc 0.153 and ruff 0.0.16 need it. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1187\"\u003e#1187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ejscpd depends on basta 0.3.1, which has the dead-code fixes above.\u003c/li\u003e\n\u003cli\u003eThe tests check behavior instead of implementation details, and CI measures line coverage (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1168\"\u003e#1168\u003c/a\u003e). The release retries \u003ccode\u003ecargo publish\u003c/code\u003e while the crates.io index catches up (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1123\"\u003e#1123\u003c/a\u003e), and the \u003ccode\u003ecompare-codebases\u003c/code\u003e skill keeps vendored and build folders out of a comparison (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1124\"\u003e#1124\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/095d6ca33e9f291c144bb05ef653b2bfdc3c1453\"\u003e\u003ccode\u003e095d6ca\u003c/code\u003e\u003c/a\u003e release: cpd-v5.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/b6f832c62cf02b574ea9cf24e013cfeb17366a35\"\u003e\u003ccode\u003eb6f832c\u003c/code\u003e\u003c/a\u003e release: cpd-v5.4.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kucherenko/jscpd/commits/v5.4.1/rust/jscpd\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.38.0 to 6.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.41.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Flue plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2124\"\u003e#2124\u003c/a\u003e) (c52737d45ff008d6d96d4c2d4182048a2aa64602) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch all React Native config file extensions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2125\"\u003e#2125\u003c/a\u003e) (898fdffb37ae0bdb3d2653038eb10c2e01edf983) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eConsolidate fixture guidance and extend plugin guidelines (37a4ca04645f71f599e9b530676543f9893bd641)\u003c/li\u003e\n\u003cli\u003eAdd AI contribution policy (b15f0fbb090ea0427240880da2bec602c11cea50)\u003c/li\u003e\n\u003cli\u003eUse files from tsconfig references with --use-tsconfig-files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2126\"\u003e#2126\u003c/a\u003e) (9618185eafb0c5cb365035f89e9d66718642338a) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCompile gitignore walk patterns once (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2127\"\u003e#2127\u003c/a\u003e) (09c80299779fa5abe133ee8f82051c25870007b8)\u003c/li\u003e\n\u003cli\u003eDrop readdir order dependent case from gitignore walk test (ab3da8ff95a05a0fbfba6873b64559017d038aa7)\u003c/li\u003e\n\u003cli\u003efix: recognize binaries from absent optional dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2120\"\u003e#2120\u003c/a\u003e) (d908556eaa98bf9637a2744d2de089bab31b8dbc) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply a directory's .gitignore before walking its subdirectories (9560c07862d4c72dc956371b9a77e049d83ed4a9)\u003c/li\u003e\n\u003cli\u003eApply nested .gitignore files to workspace globs (23d35421dd67c405254f2f8bcbc09b18d224e338)\u003c/li\u003e\n\u003cli\u003eUpdate gitignore matcher and walk notes (499f85f4544457dc7c51c4a7612fea69773ef3dd)\u003c/li\u003e\n\u003cli\u003eKeep the cwd out of glob patterns and matchers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2107\"\u003e#2107\u003c/a\u003e) (1e82fb807c88cc46951f2028214569f9a2eb0061) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport function configs in Rsbuild plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2122\"\u003e#2122\u003c/a\u003e) (38071db87e9023e5dd61173ce32f9020a1a5d7ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSeparate Expo Router plugin; remove expo-router entry points from Expo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2128\"\u003e#2128\u003c/a\u003e) (ad541764ca7d3c062236661677d1d66d5275122f) - thanks \u003ca href=\"https://github.com/jjjjonathan\"\u003e\u003ccode\u003e@​jjjjonathan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eLink Expo config discovery source and fold expo6 fixture into expo-router (2ddeca50956790b10580e835df50bc980cce961d)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (c9f79148f7165314a7b3c801eff926d1d0d6b060)\u003c/li\u003e\n\u003cli\u003eMigrate shell script parsing to unbash v5 (4942cca05303410120a007a5bb23b0c2da725da1)\u003c/li\u003e\n\u003cli\u003eHandle updated Formatly result types (ca9e8315e003dae69646f7500fa98ab9ed403b92)\u003c/li\u003e\n\u003cli\u003ePreserve TypeScript 5.0 compatibility in shell AST filters (957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b)\u003c/li\u003e\n\u003cli\u003ePoint timerify crashes to the Node.js version that fixes them (0c235de096fd3361eb918d1290241fa32a62f089)\u003c/li\u003e\n\u003cli\u003eCopy importer identifier sets into the reverse index (2860d678a87dddb5ad56299119fb6e108ceffa12)\u003c/li\u003e\n\u003cli\u003eClear the resolver cache at the start of a run (10b5bb82ecd03c88b68ace58a7aea23d188cc5f1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.40.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve local and scope-only extends in commitlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2079\"\u003e#2079\u003c/a\u003e) (e667552d4e7122094565d3ad9ae407acfc0ac684) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eClarify worktree guides and plugin review preparation (dd02baf020d23af1d47c44c1a726a61014b270bd)\u003c/li\u003e\n\u003cli\u003eDocument stale cache results and workarounds (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2078\"\u003e#2078\u003c/a\u003e) (3573749a5d5bbee6305f207cc7d1b72c200c8c9b)\u003c/li\u003e\n\u003cli\u003eExclude test files from package entries in production mode (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2082\"\u003e#2082\u003c/a\u003e) (b86f45f9d38d4b83baad98e43983e08910e00c78) - thanks \u003ca href=\"https://github.com/jonathanong\"\u003e\u003ccode\u003e@​jonathanong\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Serverless file variables in plugins and functions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2074\"\u003e#2074\u003c/a\u003e) (99cac789694ea8d76cd38184d2d7c95f34315224) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve locally referenced namespace members (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2070\"\u003e#2070\u003c/a\u003e) (f0f36df766cd74ad7ae03fbf8940bdeb792439be) - thanks \u003ca href=\"https://github.com/MFA-G\"\u003e\u003ccode\u003e@​MFA-G\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: add the commitlint-plugin prefix to Commitlint plugin names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2096\"\u003e#2096\u003c/a\u003e) (3decd35ff0a4220c7cd2c9142dc69c89794b3927) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match .mjs config files in the simple-git-hooks plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2097\"\u003e#2097\u003c/a\u003e) (79a87d92396c2444ae4ef3c780c0d2e18cd73e4c) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match capacitor.config.js in the Capacitor plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2098\"\u003e#2098\u003c/a\u003e) (4a5ec96d818117a7f2eafa027e3b707bc97573a8) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typescript): ArrayExpression (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2099\"\u003e#2099\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2100\"\u003e#2100\u003c/a\u003e) (87fea9f201c2fd864eafa31bdad68910a8a177ba) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve development entry pattern groups (7c229f4e1918075d801ed3b046fa022b1d3bcc41)\u003c/li\u003e\n\u003cli\u003eResolve null package exports to the files they hide (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2084\"\u003e#2084\u003c/a\u003e, close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2085\"\u003e#2085\u003c/a\u003e) (5bd46260feb60b957c2631bc72375ef192e441e0)\u003c/li\u003e\n\u003cli\u003ePin InvokeAI ecosystem test (4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)\u003c/li\u003e\n\u003cli\u003efix(utils): add jsx extension to source mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2087\"\u003e#2087\u003c/a\u003e) (eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(serverless-framework): handle explicit extensions in handler paths (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2091\"\u003e#2091\u003c/a\u003e) (e9393965be7563640921e3f20c946fcb9132e1cb) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAnnotate published manifest return type (d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)\u003c/li\u003e\n\u003cli\u003eAdd Jasmine plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2105\"\u003e#2105\u003c/a\u003e) (9ed14911d5c5752aef36878ab3d515c35d1ac6bc) - thanks \u003ca href=\"https://github.com/SulimanAbdulrazzaq\"\u003e\u003ccode\u003e@​SulimanAbdulrazzaq\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve workspace exports with fallback arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2088\"\u003e#2088\u003c/a\u003e) (49c2aaeaba4544f25cc02c19d5da5152a8ef68c3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(postcss): ignore disabled plugins in object configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2092\"\u003e#2092\u003c/a\u003e) (b84fdf8a8ee676ee45f4313009ebfe969d034a88) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e) (1af96bce36b0d0d07791de100c7f2ea5672a478c) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e) (01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e) (dc3a47e2d810808314454b8f5c23070f136d15d3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDon't let a self-closing \u003c!-- raw HTML omitted --\u003e swallow the next \u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e) (989fdadde0a068d1d1c52e26a8327b99c5de0668) - thanks \u003ca href=\"https://github.com/maniflopi\"\u003e\u003ccode\u003e@​maniflopi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e) (6d44e532ed6320cdf4f4c3253b26e155c4d26ba7) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e) (a5f4cfbff7f263a0ea8d5461a3f9216cbef38602) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/13d7f21e8ec5b30d8fe6d8377c9012b9db96f871\"\u003e\u003ccode\u003e13d7f21\u003c/code\u003e\u003c/a\u003e Release knip@6.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/10b5bb82ecd03c88b68ace58a7aea23d188cc5f1\"\u003e\u003ccode\u003e10b5bb8\u003c/code\u003e\u003c/a\u003e Clear the resolver cache at the start of a run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2860d678a87dddb5ad56299119fb6e108ceffa12\"\u003e\u003ccode\u003e2860d67\u003c/code\u003e\u003c/a\u003e Copy importer identifier sets into the reverse index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/0c235de096fd3361eb918d1290241fa32a62f089\"\u003e\u003ccode\u003e0c235de\u003c/code\u003e\u003c/a\u003e Point timerify crashes to the Node.js version that fixes them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b\"\u003e\u003ccode\u003e957ac7b\u003c/code\u003e\u003c/a\u003e Preserve TypeScript 5.0 compatibility in shell AST filters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ca9e8315e003dae69646f7500fa98ab9ed403b92\"\u003e\u003ccode\u003eca9e831\u003c/code\u003e\u003c/a\u003e Handle updated Formatly result types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/4942cca05303410120a007a5bb23b0c2da725da1\"\u003e\u003ccode\u003e4942cca\u003c/code\u003e\u003c/a\u003e Migrate shell script parsing to unbash v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c9f79148f7165314a7b3c801eff926d1d0d6b060\"\u003e\u003ccode\u003ec9f7914\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2ddeca50956790b10580e835df50bc980cce961d\"\u003e\u003ccode\u003e2ddeca5\u003c/code\u003e\u003c/a\u003e Link Expo config discovery source and fold expo6 fixture into expo-router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ad541764ca7d3c062236661677d1d66d5275122f\"\u003e\u003ccode\u003ead54176\u003c/code\u003e\u003c/a\u003e Separate Expo Router plugin; remove expo-router entry points from Expo plugin...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.41.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxfmt` from 0.71.0 to 0.73.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/releases\"\u003eoxfmt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eoxfmt v0.73.0\u003c/h2\u003e\n\u003ch3\u003e💥 BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1ef2888 oxfmt: [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Improve \u003ccode\u003e--migrate prettier\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27444\"\u003e#27444\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003ec2e6d5f formatter_toml: [\u003cstrong\u003eBREAKING\u003c/strong\u003e] Add \u003ccode\u003eoxc_formatter_toml\u003c/code\u003e crate wrapping \u003ccode\u003eoxc-toml\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27365\"\u003e#27365\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ece4e8dc oxfmt: Support \u003ccode\u003eoverrides[].parser\u003c/code\u003e -\u0026gt; \u003ccode\u003eassociations[].language\u003c/code\u003e migration (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27475\"\u003e#27475\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003ea495e82 oxfmt: Support \u003ccode\u003eassociations\u003c/code\u003e config to specify language over filepath (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27437\"\u003e#27437\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e77f8156 oxfmt/lsp: Show root config errors to LSP client (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/26014\"\u003e#26014\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003cli\u003ec1adce3 oxfmt/lsp: Support astro language (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27388\"\u003e#27388\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e4f024a1 oxfmt: Support astro plugin in \u003ccode\u003e--migrate prettier\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27387\"\u003e#27387\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e5db28fa oxfmt: Support Astro via \u003ccode\u003eprettier-plugin-astro@1.x\u003c/code\u003e (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27386\"\u003e#27386\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e76ec31b formatter_css: Support css-in-js placeholders in property names and conditions (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27640\"\u003e#27640\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e99bb268 formatter_css: Keep css-in-js placeholder as media type (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27639\"\u003e#27639\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e372849e formatter: Fix crash on css-in-js comment containing interpolation (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27638\"\u003e#27638\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003eda692b8 formatter: Wrap \u003ccode\u003eexport default class|function\u003c/code\u003e consistently (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27628\"\u003e#27628\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e21dee96 formatter: Keep parens around \u003ccode\u003eTSInstantiationExpression\u003c/code\u003e before ! and export (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27626\"\u003e#27626\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003eb6eb914 oxfmt: Normalize symlink targets in CLI snapshots (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27498\"\u003e#27498\u003c/a\u003e) (camc314)\u003c/li\u003e\n\u003cli\u003e5dae56f oxfmt/lsp: Return error on config resolving error (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/26003\"\u003e#26003\u003c/a\u003e) (Sysix)\u003c/li\u003e\n\u003cli\u003e676cc60 formatter/jsdoc: Preserve paragraphs by checking \u003ccode\u003e@description\u003c/code\u003e tag width (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27439\"\u003e#27439\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e2349a31 oxfmt: Follow symlinked configs in discovery (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27389\"\u003e#27389\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003edb360de oxfmt: Load svelte plugin for svelte-in-mdx-in-md (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27369\"\u003e#27369\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e6e573f9 oxlint,oxfmt: Set stderr blocking (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27363\"\u003e#27363\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003ed730fdd formatter_core: Leave blank frontmatter without dispatcher (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27359\"\u003e#27359\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e4a28c91 formatter_css: Clarify \u003ccode\u003emissed-semicolon-accepted\u003c/code\u003e divergence (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27433\"\u003e#27433\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e408d87f oxfmt: Simplify oxfmtrc docs (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27432\"\u003e#27432\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e902e188 oxfmt: Update how \u003ccode\u003eembeddedLanguageFormatting\u003c/code\u003e option works (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27362\"\u003e#27362\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003cli\u003e37b3c48 formatter_markdown: Fix DIVERGENCES.md examples and slug to match behavior (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/27358\"\u003e#27358\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eoxfmt v0.72.0\u003c/h2\u003e\n\u003ch3\u003e💥 BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ee2c68b1 oxfmt: [\u003cstrong\u003eBREAKING\u003c/s...\n\n_Description has been truncated_","html_url":"https://github.com/budgie-at/budgie/pull/1597","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/budgie-at%2Fbudgie/issues/1597","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1597/packages"}},{"old_version":"18.4.0","new_version":"18.4.1","update_type":"patch","path":null,"pr_created_at":"2026-10-17T02:16:31.000Z","version_change":"18.4.0 → 18.4.1","issue":{"uuid":"5893892999","node_id":"PR_kwDORzmY388AAAABI9oovQ","number":549,"state":"closed","title":"Bump the dev-dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-17T02:20:35.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-17T02:16:31.000Z","updated_at":"2026-10-17T02:20:36.000Z","time_to_close":244,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-dependencies","update_count":9,"packages":[{"name":"@microsoft/api-extractor","old_version":"7.59.3","new_version":"7.59.4","repository_url":"https://github.com/microsoft/rushstack"},{"name":"@types/node","old_version":"26.6.4","new_version":"26.6.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint-plugin-n","old_version":"18.4.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.39.0","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"turbo","old_version":"2.11.6","new_version":"2.11.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.71.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-react","old_version":"6.1.1","new_version":"6.1.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"jsdom","old_version":"30.1.1","new_version":"30.1.2","repository_url":"https://github.com/jsdom/jsdom"},{"name":"vite","old_version":"8.3.2","new_version":"8.3.4","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@microsoft/api-extractor](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-extractor) | `7.59.3` | `7.59.4` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.4` | `26.6.5` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.4.0` | `18.4.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.39.0` | `6.41.0` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.6` | `2.11.7` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.71.0` | `8.71.1` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.1.1` | `6.1.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.1.1` | `30.1.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.2` | `8.3.4` |\n\n\nUpdates `@microsoft/api-extractor` from 7.59.3 to 7.59.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/rushstack/blob/main/apps/api-extractor/CHANGELOG.md\"\u003e@​microsoft/api-extractor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.59.4\u003c/h2\u003e\n\u003cp\u003eTue, 06 Oct 2026 00:04:37 GMT\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eVersion update only\u003c/em\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\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/rushstack/commits/HEAD/apps/api-extractor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 26.6.4 to 26.6.5\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 `eslint-plugin-n` from 18.4.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.39.0 to 6.41.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.41.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Flue plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2124\"\u003e#2124\u003c/a\u003e) (c52737d45ff008d6d96d4c2d4182048a2aa64602) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch all React Native config file extensions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2125\"\u003e#2125\u003c/a\u003e) (898fdffb37ae0bdb3d2653038eb10c2e01edf983) - thanks \u003ca href=\"https://github.com/LuisFigueroaG\"\u003e\u003ccode\u003e@​LuisFigueroaG\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eConsolidate fixture guidance and extend plugin guidelines (37a4ca04645f71f599e9b530676543f9893bd641)\u003c/li\u003e\n\u003cli\u003eAdd AI contribution policy (b15f0fbb090ea0427240880da2bec602c11cea50)\u003c/li\u003e\n\u003cli\u003eUse files from tsconfig references with --use-tsconfig-files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2126\"\u003e#2126\u003c/a\u003e) (9618185eafb0c5cb365035f89e9d66718642338a) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCompile gitignore walk patterns once (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2127\"\u003e#2127\u003c/a\u003e) (09c80299779fa5abe133ee8f82051c25870007b8)\u003c/li\u003e\n\u003cli\u003eDrop readdir order dependent case from gitignore walk test (ab3da8ff95a05a0fbfba6873b64559017d038aa7)\u003c/li\u003e\n\u003cli\u003efix: recognize binaries from absent optional dependencies (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2120\"\u003e#2120\u003c/a\u003e) (d908556eaa98bf9637a2744d2de089bab31b8dbc) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply a directory's .gitignore before walking its subdirectories (9560c07862d4c72dc956371b9a77e049d83ed4a9)\u003c/li\u003e\n\u003cli\u003eApply nested .gitignore files to workspace globs (23d35421dd67c405254f2f8bcbc09b18d224e338)\u003c/li\u003e\n\u003cli\u003eUpdate gitignore matcher and walk notes (499f85f4544457dc7c51c4a7612fea69773ef3dd)\u003c/li\u003e\n\u003cli\u003eKeep the cwd out of glob patterns and matchers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2107\"\u003e#2107\u003c/a\u003e) (1e82fb807c88cc46951f2028214569f9a2eb0061) - thanks \u003ca href=\"https://github.com/kaanisthatyou\"\u003e\u003ccode\u003e@​kaanisthatyou\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport function configs in Rsbuild plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2122\"\u003e#2122\u003c/a\u003e) (38071db87e9023e5dd61173ce32f9020a1a5d7ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSeparate Expo Router plugin; remove expo-router entry points from Expo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2128\"\u003e#2128\u003c/a\u003e) (ad541764ca7d3c062236661677d1d66d5275122f) - thanks \u003ca href=\"https://github.com/jjjjonathan\"\u003e\u003ccode\u003e@​jjjjonathan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eLink Expo config discovery source and fold expo6 fixture into expo-router (2ddeca50956790b10580e835df50bc980cce961d)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (c9f79148f7165314a7b3c801eff926d1d0d6b060)\u003c/li\u003e\n\u003cli\u003eMigrate shell script parsing to unbash v5 (4942cca05303410120a007a5bb23b0c2da725da1)\u003c/li\u003e\n\u003cli\u003eHandle updated Formatly result types (ca9e8315e003dae69646f7500fa98ab9ed403b92)\u003c/li\u003e\n\u003cli\u003ePreserve TypeScript 5.0 compatibility in shell AST filters (957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b)\u003c/li\u003e\n\u003cli\u003ePoint timerify crashes to the Node.js version that fixes them (0c235de096fd3361eb918d1290241fa32a62f089)\u003c/li\u003e\n\u003cli\u003eCopy importer identifier sets into the reverse index (2860d678a87dddb5ad56299119fb6e108ceffa12)\u003c/li\u003e\n\u003cli\u003eClear the resolver cache at the start of a run (10b5bb82ecd03c88b68ace58a7aea23d188cc5f1)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.40.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve local and scope-only extends in commitlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2079\"\u003e#2079\u003c/a\u003e) (e667552d4e7122094565d3ad9ae407acfc0ac684) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eClarify worktree guides and plugin review preparation (dd02baf020d23af1d47c44c1a726a61014b270bd)\u003c/li\u003e\n\u003cli\u003eDocument stale cache results and workarounds (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2078\"\u003e#2078\u003c/a\u003e) (3573749a5d5bbee6305f207cc7d1b72c200c8c9b)\u003c/li\u003e\n\u003cli\u003eExclude test files from package entries in production mode (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2082\"\u003e#2082\u003c/a\u003e) (b86f45f9d38d4b83baad98e43983e08910e00c78) - thanks \u003ca href=\"https://github.com/jonathanong\"\u003e\u003ccode\u003e@​jonathanong\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Serverless file variables in plugins and functions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2074\"\u003e#2074\u003c/a\u003e) (99cac789694ea8d76cd38184d2d7c95f34315224) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve locally referenced namespace members (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2070\"\u003e#2070\u003c/a\u003e) (f0f36df766cd74ad7ae03fbf8940bdeb792439be) - thanks \u003ca href=\"https://github.com/MFA-G\"\u003e\u003ccode\u003e@​MFA-G\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: add the commitlint-plugin prefix to Commitlint plugin names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2096\"\u003e#2096\u003c/a\u003e) (3decd35ff0a4220c7cd2c9142dc69c89794b3927) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match .mjs config files in the simple-git-hooks plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2097\"\u003e#2097\u003c/a\u003e) (79a87d92396c2444ae4ef3c780c0d2e18cd73e4c) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match capacitor.config.js in the Capacitor plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2098\"\u003e#2098\u003c/a\u003e) (4a5ec96d818117a7f2eafa027e3b707bc97573a8) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typescript): ArrayExpression (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2099\"\u003e#2099\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2100\"\u003e#2100\u003c/a\u003e) (87fea9f201c2fd864eafa31bdad68910a8a177ba) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve development entry pattern groups (7c229f4e1918075d801ed3b046fa022b1d3bcc41)\u003c/li\u003e\n\u003cli\u003eResolve null package exports to the files they hide (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2084\"\u003e#2084\u003c/a\u003e, close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2085\"\u003e#2085\u003c/a\u003e) (5bd46260feb60b957c2631bc72375ef192e441e0)\u003c/li\u003e\n\u003cli\u003ePin InvokeAI ecosystem test (4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)\u003c/li\u003e\n\u003cli\u003efix(utils): add jsx extension to source mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2087\"\u003e#2087\u003c/a\u003e) (eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(serverless-framework): handle explicit extensions in handler paths (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2091\"\u003e#2091\u003c/a\u003e) (e9393965be7563640921e3f20c946fcb9132e1cb) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAnnotate published manifest return type (d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)\u003c/li\u003e\n\u003cli\u003eAdd Jasmine plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2105\"\u003e#2105\u003c/a\u003e) (9ed14911d5c5752aef36878ab3d515c35d1ac6bc) - thanks \u003ca href=\"https://github.com/SulimanAbdulrazzaq\"\u003e\u003ccode\u003e@​SulimanAbdulrazzaq\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve workspace exports with fallback arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2088\"\u003e#2088\u003c/a\u003e) (49c2aaeaba4544f25cc02c19d5da5152a8ef68c3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(postcss): ignore disabled plugins in object configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2092\"\u003e#2092\u003c/a\u003e) (b84fdf8a8ee676ee45f4313009ebfe969d034a88) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e) (1af96bce36b0d0d07791de100c7f2ea5672a478c) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e) (01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e) (dc3a47e2d810808314454b8f5c23070f136d15d3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDon't let a self-closing \u003c!-- raw HTML omitted --\u003e swallow the next \u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e) (989fdadde0a068d1d1c52e26a8327b99c5de0668) - thanks \u003ca href=\"https://github.com/maniflopi\"\u003e\u003ccode\u003e@​maniflopi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e) (6d44e532ed6320cdf4f4c3253b26e155c4d26ba7) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e) (a5f4cfbff7f263a0ea8d5461a3f9216cbef38602) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/13d7f21e8ec5b30d8fe6d8377c9012b9db96f871\"\u003e\u003ccode\u003e13d7f21\u003c/code\u003e\u003c/a\u003e Release knip@6.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/10b5bb82ecd03c88b68ace58a7aea23d188cc5f1\"\u003e\u003ccode\u003e10b5bb8\u003c/code\u003e\u003c/a\u003e Clear the resolver cache at the start of a run\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2860d678a87dddb5ad56299119fb6e108ceffa12\"\u003e\u003ccode\u003e2860d67\u003c/code\u003e\u003c/a\u003e Copy importer identifier sets into the reverse index\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/0c235de096fd3361eb918d1290241fa32a62f089\"\u003e\u003ccode\u003e0c235de\u003c/code\u003e\u003c/a\u003e Point timerify crashes to the Node.js version that fixes them\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/957ac7bbd654f6d3d0c4dc4eab2f4aa133ff0b4b\"\u003e\u003ccode\u003e957ac7b\u003c/code\u003e\u003c/a\u003e Preserve TypeScript 5.0 compatibility in shell AST filters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ca9e8315e003dae69646f7500fa98ab9ed403b92\"\u003e\u003ccode\u003eca9e831\u003c/code\u003e\u003c/a\u003e Handle updated Formatly result types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/4942cca05303410120a007a5bb23b0c2da725da1\"\u003e\u003ccode\u003e4942cca\u003c/code\u003e\u003c/a\u003e Migrate shell script parsing to unbash v5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c9f79148f7165314a7b3c801eff926d1d0d6b060\"\u003e\u003ccode\u003ec9f7914\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2ddeca50956790b10580e835df50bc980cce961d\"\u003e\u003ccode\u003e2ddeca5\u003c/code\u003e\u003c/a\u003e Link Expo config discovery source and fold expo6 fixture into expo-router\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/ad541764ca7d3c062236661677d1d66d5275122f\"\u003e\u003ccode\u003ead54176\u003c/code\u003e\u003c/a\u003e Separate Expo Router plugin; remove expo-router entry points from Expo plugin...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.41.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.11.6 to 2.11.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.11.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Release Turborepo 2.11.6 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14352\"\u003evercel/turborepo#14352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Pass SDKROOT through to repository tasks by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14353\"\u003evercel/turborepo#14353\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-vite-module-federation example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14349\"\u003evercel/turborepo#14349\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Ignore Vercel OIDC token rotation in .env.local cache inputs by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14356\"\u003evercel/turborepo#14356\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\"\u003ehttps://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/547747fb39719ebdc405074b8c378a6341aaabfc\"\u003e\u003ccode\u003e547747f\u003c/code\u003e\u003c/a\u003e publish 2.11.7 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3ce82f57d27f37877f09fc1200c2fda64b9f3596\"\u003e\u003ccode\u003e3ce82f5\u003c/code\u003e\u003c/a\u003e fix: Ignore Vercel OIDC token rotation in .env.local cache inputs (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14356\"\u003e#14356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/8cc3cce30705a88ac9020d1adc2bf06f391fdf2d\"\u003e\u003ccode\u003e8cc3cce\u003c/code\u003e\u003c/a\u003e chore: Update with-vite-module-federation example (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14349\"\u003e#14349\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/41387de0cdd241314f84c5ee9eef4728197c4fda\"\u003e\u003ccode\u003e41387de\u003c/code\u003e\u003c/a\u003e fix: Pass SDKROOT through to repository tasks (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14353\"\u003e#14353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/3a2072cad9eadc0f21a5eff2a93abbb40ed2b572\"\u003e\u003ccode\u003e3a2072c\u003c/code\u003e\u003c/a\u003e chore: Release Turborepo 2.11.6 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14352\"\u003e#14352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.6...v2.11.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript-eslint` from 8.71.0 to 8.71.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throttle cleanup when opening files (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12934\"\u003e#12934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match re-exports and global declarations in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\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.71.1 (2026-10-05)\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\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/d57b8da272375b6a45270639894a793933208a91\"\u003e\u003ccode\u003ed57b8da\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.1/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitejs/plugin-react` from 6.1.1 to 6.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite-plugin-react/releases\"\u003e@​vitejs/plugin-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eplugin-react@6.1.2\u003c/h2\u003e\n\u003ch3\u003eFix HMR for compound components (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1484\"\u003e#1484\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eAdding or removing a component from a compound component was not handled, creating stale updates. Doing this now triggers hmr invalidate on the file and propagates the invalidation to importers.\u003c/p\u003e\n\u003ch3\u003eFix \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option not working (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1483\"\u003e#1483\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWith \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.148, the \u003ccode\u003elogDiagnostics\u003c/code\u003e was not working. This version fixes it and requires \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.152 as a peer dependency if you are using the \u003ccode\u003ecompiler\u003c/code\u003e option. \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option is now deprecated and should be swapped for the builtin \u003ccode\u003ecompiler.reportDiagnostics\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eDisable refresh for non-jsx with compiler enabled (fix \u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/issues/1478\"\u003e#1478\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1485\"\u003e#1485\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWhen the compiler was enabled, TS files could trigger fast refresh which would cause runtime errors. The logic now follows what the builtin oxc plugin in Vite does.\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/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md\"\u003e@​vitejs/plugin-react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.2 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eFix HMR for compound components (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1484\"\u003e#1484\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eAdding or removing a component from a compound component was not handled, creating stale updates. Doing this now triggers hmr invalidate on the file and propagates the invalidation to importers.\u003c/p\u003e\n\u003ch3\u003eFix \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option not working (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1483\"\u003e#1483\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWith \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.148, the \u003ccode\u003elogDiagnostics\u003c/code\u003e was not working. This version fixes it and requires \u003ccode\u003eoxc-transform-react\u003c/code\u003e \u0026gt;= 0.152 as a peer dependency if you are using the \u003ccode\u003ecompiler\u003c/code\u003e option. \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e option is now deprecated and should be swapped for the builtin \u003ccode\u003ecompiler.reportDiagnostics\u003c/code\u003e.\u003c/p\u003e\n\u003ch3\u003eDisable refresh for non-jsx with compiler enabled (fix \u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/issues/1478\"\u003e#1478\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1485\"\u003e#1485\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eWhen the compiler was enabled, TS files could trigger fast refresh which would cause runtime errors. The logic now follows what the builtin oxc plugin in Vite does.\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/vitejs/vite-plugin-react/commit/ac47648e17674299accb51816e9e33b8a7b07b05\"\u003e\u003ccode\u003eac47648\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.1.2 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1491\"\u003e#1491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/98277e7d49fea7fa707170d2892738c8bfb5f1c0\"\u003e\u003ccode\u003e98277e7\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/12eddea34ae9de92b3dc8d8b8a76fa1260b781bf\"\u003e\u003ccode\u003e12eddea\u003c/code\u003e\u003c/a\u003e fix(hmr): better handle compound components (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3cfb1d1114df64cf9aeee4aae0ac951d0c2f3abf\"\u003e\u003ccode\u003e3cfb1d1\u003c/code\u003e\u003c/a\u003e fix(plugin-react): fix \u003ccode\u003ecompiler.logDiagnostics\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/6de9915e1b4c1b8a7b390eb1364ab6cd83d64e62\"\u003e\u003ccode\u003e6de9915\u003c/code\u003e\u003c/a\u003e fix(plugin-react): disable refresh for non-jsx with compiler enabled (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/ee97d2f3bd25cda8f06c27366722f01aaac0201f\"\u003e\u003ccode\u003eee97d2f\u003c/code\u003e\u003c/a\u003e fix(deps): update all non-major dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1445\"\u003e#1445\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/b0a014da31be23c7806ffb0b997ec53b52ab68f2\"\u003e\u003ccode\u003eb0a014d\u003c/code\u003e\u003c/a\u003e chore: use Babel 8 for babel compiler playgrounds (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1460\"\u003e#1460\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/61b650fe93c3fe30d79aa8615199cdcb0a2594f4\"\u003e\u003ccode\u003e61b650f\u003c/code\u003e\u003c/a\u003e fix(deps): update react-related dependencies (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1452\"\u003e#1452\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/736efe2f004002abee693a44b405e70699432ecd\"\u003e\u003ccode\u003e736efe2\u003c/code\u003e\u003c/a\u003e chore(deps): update tsdown to v0.23 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1451\"\u003e#1451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.1.2/packages/plugin-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.1.1 to 30.1.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.1.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated URLs to support Unicode v18.0.0 in internationalized domain names.\u003c/li\u003e\n\u003cli\u003eReduced package size and memory use for CSS property definitions. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed severe slowdowns when building large DOM trees, including SVG charts with D3, which regressed in v30.1.0. (\u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed exponentially slow reads of empty inherited CSS custom properties in deeply nested documents, and custom properties incorrectly inheriting past an \u003ccode\u003einitial\u003c/code\u003e reset. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e returning stale results after editing stylesheet declarations, selectors, or media queries, including in imported stylesheets.\u003c/li\u003e\n\u003cli\u003eFixed selector matching and computed styles after changes to form control checkedness, indeterminacy, selection, values, and validity, including during form resets and canceled clicks.\u003c/li\u003e\n\u003cli\u003eFixed computed styles for \u003ccode\u003e:focus\u003c/code\u003e, \u003ccode\u003e:focus-visible\u003c/code\u003e, \u003ccode\u003e:focus-within\u003c/code\u003e, and selectors containing them after focus changes, including inside focus and blur listeners. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing elements hidden by 'display', including through shadow hosts and slots, and elements excluded by shadow DOM slot assignment. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e throwing for elements without inline-style support, including XML and MathML elements.\u003c/li\u003e\n\u003cli\u003eFixed a memory leak where stylesheet parsing retained the last parsed stylesheet's window after \u003ccode\u003ewindow.close()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed memory growth from long-lived \u003ccode\u003eMutationObserver\u003c/code\u003e instances retaining bookkeeping for garbage-collected nodes. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed retained \u003ccode\u003eselect.selectedOptions\u003c/code\u003e collections becoming stale after selection changes and form resets.\u003c/li\u003e\n\u003cli\u003eFixed rejection of negative CSS sizing values, including for 'min-width', 'min-height', 'max-width', and 'max-height', which regressed in v30.1.0.\u003c/li\u003e\n\u003cli\u003eFixed handling of deeply nested \u003ccode\u003ecolor-mix()\u003c/code\u003e expressions, including exceptions during color resolution. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a23bfb72b5a3fc776db51ae1bccabf46af8a9e38\"\u003e\u003ccode\u003ea23bfb7\u003c/code\u003e\u003c/a\u003e 30.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/64a75d240db0744cbfeff6f740b07c4da47cee99\"\u003e\u003ccode\u003e64a75d2\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7bf9653bf12f8ed61255fddf065b1f27afbb6993\"\u003e\u003ccode\u003e7bf9653\u003c/code\u003e\u003c/a\u003e Invalidate styles after CSSOM and control state changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/fe9009c91a09dedd6519c65d8d5b266cce400fa2\"\u003e\u003ccode\u003efe9009c\u003c/code\u003e\u003c/a\u003e Update focused area handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a8d28b3ec0ae3f747a2a8bd2547517c358d00f9a\"\u003e\u003ccode\u003ea8d28b3\u003c/code\u003e\u003c/a\u003e Release windows retained by stylesheet parsing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/05a2c01549640ad820f6681e0549bf4aab316bbf\"\u003e\u003ccode\u003e05a2c01\u003c/code\u003e\u003c/a\u003e Deduplicate generated CSS property metadata\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/1efa190736aa040ac1264e9009fa809d45d98c28\"\u003e\u003ccode\u003e1efa190\u003c/code\u003e\u003c/a\u003e Reduce generated CSS property data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a372e12fd6eeedadc16c11a12e7c155b8cba7c46\"\u003e\u003ccode\u003ea372e12\u003c/code\u003e\u003c/a\u003e Avoid Document named-property rebuilds after irrelevant tree mutations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b2cd235170228c83cafe6d0ff542419aa7fa6221\"\u003e\u003ccode\u003eb2cd235\u003c/code\u003e\u003c/a\u003e Update css-color\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0542d2b8efe917ed37423d37f63488851613058d\"\u003e\u003ccode\u003e0542d2b\u003c/code\u003e\u003c/a\u003e Release idle MutationObserver bookkeeping\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.1.1...v30.1.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.3.2 to 8.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.3.4\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e support \u003ccode\u003eimport.meta.hot.acceptExports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23463\"\u003e#23463\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e\"\u003ebc0f21c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid mutating hmr defaults (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23575\"\u003e#23575\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23576\"\u003e#23576\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/574d5e351905fe99891364d03c2440531378f7fd\"\u003e574d5e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e correct preloads when chunkImportMap is enabled with non-root base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23698\"\u003e#23698\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd\"\u003e2a8c0f0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e wait for in-flight stylesheets in preload helper (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23652\"\u003e#23652\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23662\"\u003e#23662\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/036b74599b2fe1d8c61475371b856ceb88d26963\"\u003e036b745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve \u003ccode\u003e/@vite/client\u003c/code\u003e and stub \u003ccode\u003e@vite/env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23664\"\u003e#23664\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5afc5a8876624888fc1e8f43fed1c85c4b0e830b\"\u003e5afc5a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e skip rewriting unchanged adopted styles (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23697\"\u003e#23697\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba\"\u003efa71469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e resolve imported preprocessors from their file path with lightningcss (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23688\"\u003e#23688\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9\"\u003ecf52011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23648\"\u003e#23648\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8a4c19cfc035f2dd203f2fa6d00ab9256a5e77c9\"\u003e8a4c19c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23649\"\u003e#23649\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/794516d50cff80e405bc9b3e5faac1c82987566c\"\u003e794516d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e a restart requested during a restart used to be dropped (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23392\"\u003e#23392\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23484\"\u003e#23484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73\"\u003e70d56ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't treat modules ending with js-like query as js (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23687\"\u003e#23687\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0\"\u003efcb6f12\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e avoid adding filesystem root to watcher (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23689\"\u003e#23689\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778\"\u003e3a7f2ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e skip caching CSS of chunks in a cycle (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23628\"\u003e#23628\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23636\"\u003e#23636\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/15d82f7dc679ab9c18d5ce2c3711157c2365ddd1\"\u003e15d82f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e scan deep imports with custom extensions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23678\"\u003e#23678\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8579189bae8626b6ddab55a09325e209d62e027e\"\u003e8579189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove input option unescaping for now (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23694\"\u003e#23694\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6\"\u003efacc2fb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e match static aliases on path boundaries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23643\"\u003e#23643\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577\"\u003eb28db28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewatcher:\u003c/strong\u003e normalize file before root check in \u003ccode\u003eensureWatchedFile\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23673\"\u003e#23673\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/12bb28c22379c8d2fe90088fa0eefbfa2ab3fb80\"\u003e12bb28c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003emodule-runner:\u003c/strong\u003e skip cloning call sites that have no source map (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23646\"\u003e#23646\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3d674869a50a0bca84a8cc8dc55bd35d57100e37\"\u003e3d67486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e import CSS HMR helpers from \u003ccode\u003e/@vite/client\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23674\"\u003e#23674\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/182f5b2a65391da5bee05f9c3df1aeb3794e98d9\"\u003e182f5b2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev8.3.3\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update launch-editor to v2.14.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23654\"\u003e#23654\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/22fd1d5238cce2ee9db0eb4122f9e8feb6b06097\"\u003e22fd1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e filename passed to transformIndexHtml should not include queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23653\"\u003e#23653\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17\"\u003e7dafd8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e check \u003ccode\u003efs.serve\u003c/code\u003e for \u003ccode\u003e?vite-wasm-instance\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23655\"\u003e#23655\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ba8b7ab43b4afa5d0292ab4b6e3a7b5033cc9c73\"\u003eba8b7ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e store ids to \u003ccode\u003esafeModulePaths\u003c/code\u003e rather than URLs (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23656\"\u003e#23656\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905\"\u003ec3e06f9\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/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\"\u003evite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.3.3...v8.3.4\"\u003e8.3.4\u003c/a\u003e (2026-10-08)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e support \u003ccode\u003eimport.meta.hot.acceptExports\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23463\"\u003e#23463\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e\"\u003ebc0f21c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid mutating hmr defaults (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23575\"\u003e#23575\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23576\"\u003e#23576\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/574d5e351905fe99891364d03c2440531378f7fd\"\u003e574d5e3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e correct preloads when chunkImportMap is enabled with non-root base (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23698\"\u003e#23698\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd\"\u003e2a8c0f0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e wait for in-flight stylesheets in preload helper (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23652\"\u003e#23652\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23662\"\u003e#23662\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/036b74599b2fe1d8c61475371b856ceb88d26963\"\u003e036b745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e serve \u003ccode\u003e/@vite/client\u003c/code\u003e and stub \u003ccode\u003e@vite/env\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23664\"\u003e#23664\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5afc5a8876624888fc1e8f43fed1c85c4b0e830b\"\u003e5afc5a8\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient:\u003c/strong\u003e skip rewriting unchanged adopted styles (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23697\"\u003e#23697\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba\"\u003efa71469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e resolve imported preprocessors from their file path with lightningcss (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23688\"\u003e#23688\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9\"\u003ecf52011\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update all non-major dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23648\"\u003e#23648\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8a4c19cfc035f2dd203f2fa6d00ab9256a5e77c9\"\u003e8a4c19c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update rolldown-related dependencies (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23649\"\u003e#23649\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/794516d50cff80e405bc9b3e5faac1c82987566c\"\u003e794516d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edev:\u003c/strong\u003e a restart requested during a restart used to be dropped (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23392\"\u003e#23392\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23484\"\u003e#23484\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73\"\u003e70d56ea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edon't treat modules ending with js-like query as js (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23687\"\u003e#23687\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0\"\u003efcb6f12\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e avoid adding filesystem root to watcher (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23689\"\u003e#23689\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778\"\u003e3a7f2ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e skip caching CSS of chunks in a cycle (fix \u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23628\"\u003e#23628\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23636\"\u003e#23636\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/15d82f7dc679ab9c18d5ce2c3711157c2365ddd1\"\u003e15d82f7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e scan deep imports with custom extensions (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23678\"\u003e#23678\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/8579189bae8626b6ddab55a09325e209d62e027e\"\u003e8579189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove input option unescaping for now (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23694\"\u003e#23694\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6\"\u003efacc2fb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e match static aliases on path boundaries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23643\"\u003e#23643\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577\"\u003eb28db28\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewatcher:\u003c/strong\u003e normalize file before root check in \u003ccode\u003eensureWatchedFile\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23673\"\u003e#23673\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/12bb28c22379c8d2fe90088fa0eefbfa2ab3fb80\"\u003e12bb28c\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePerformance Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003emodule-runner:\u003c/strong\u003e skip cloning call sites that have no source map (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23646\"\u003e#23646\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/3d674869a50a0bca84a8cc8dc55bd35d57100e37\"\u003e3d67486\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebundled-dev:\u003c/strong\u003e import CSS HMR helpers from \u003ccode\u003e/@vite/client\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23674\"\u003e#23674\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/182f5b2a65391da5bee05f9c3df1aeb3794e98d9\"\u003e182f5b2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/vitejs/vite/compare/v8.3.2...v8.3.3\"\u003e8.3.3\u003c/a\u003e (2026-10-06)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update launch-editor to v2.14.2 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23654\"\u003e#23654\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/22fd1d5238cce2ee9db0eb4122f9e8feb6b06097\"\u003e22fd1d5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehtml:\u003c/strong\u003e filename passed to transformIndexHtml should not include queries (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23653\"\u003e#23653\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/7dafd8e56f152403a3230608fa4005273c2e9e17\"\u003e7dafd8e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e check \u003ccode\u003efs.serve\u003c/code\u003e for \u003ccode\u003e?vite-wasm-instance\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23655\"\u003e#23655\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/ba8b7ab43b4afa5d0292ab4b6e3a7b5033cc9c73\"\u003eba8b7ab\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eserver:\u003c/strong\u003e store ids to \u003ccode\u003esafeModulePaths\u003c/code\u003e rather than URLs (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/23656\"\u003e#23656\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/c3e06f92e969952466b4e2f5801e85e1e00cd905\"\u003ec3e06f9\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/vitejs/vite/commit/b6c20f6a8126d8561891e5fb9368e8fc9da37538\"\u003e\u003ccode\u003eb6c20f6\u003c/code\u003e\u003c/a\u003e release: v8.3.4 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23702\"\u003e#23702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b28db28e9e62d9866a9a0f1b22e74589cc180577\"\u003e\u003ccode\u003eb28db28\u003c/code\u003e\u003c/a\u003e fix(server): match static aliases on path boundaries (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23643\"\u003e#23643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/bc0f21c56a2e003a4d2dd23ccb9da3ec8c706c4e\"\u003e\u003ccode\u003ebc0f21c\u003c/code\u003e\u003c/a\u003e feat(bundled-dev): support \u003ccode\u003eimport.meta.hot.acceptExports\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23463\"\u003e#23463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fa7146938b0ca703653c90c20907191a01c032ba\"\u003e\u003ccode\u003efa71469\u003c/code\u003e\u003c/a\u003e fix(client): skip rewriting unchanged adopted styles (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23697\"\u003e#23697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/2a8c0f05c76e35c43ab3560984a5103c8db8dbcd\"\u003e\u003ccode\u003e2a8c0f0\u003c/code\u003e\u003c/a\u003e fix(build): correct preloads when chunkImportMap is enabled with non-root bas...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/3a7f2aea757d59bae66ad6edf6b321d26a7e6778\"\u003e\u003ccode\u003e3a7f2ae\u003c/code\u003e\u003c/a\u003e fix(html): avoid adding filesystem root to watcher (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23689\"\u003e#23689\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/facc2fb1fffce03d9e2dd7011d0bd0eeddc7d0f6\"\u003e\u003ccode\u003efacc2fb\u003c/code\u003e\u003c/a\u003e fix: remove input option unescaping for now (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23694\"\u003e#23694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/70d56ea1848909edab416934f3f68ce14343eb73\"\u003e\u003ccode\u003e70d56ea\u003c/code\u003e\u003c/a\u003e fix(dev): a restart requested during a restart used to be dropped (fix \u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23392\"\u003e#23392\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/cf52011c46409a4a45f3d74bba631b8f005c4bc9\"\u003e\u003ccode\u003ecf52011\u003c/code\u003e\u003c/a\u003e fix(css): resolve imported preprocessors from their file path with lightningc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/fcb6f1252a95857823d935f98554b938888d41a0\"\u003e\u003ccode\u003efcb6f12\u003c/code\u003e\u003c/a\u003e fix: don't treat modules ending with js-like query as js (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/23687\"\u003e#23687\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.3.4/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/neilcochran/squawk/pull/549","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/neilcochran%2Fsquawk/issues/549","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/549/packages"}},{"old_version":"18.3.0","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-15T02:06:04.000Z","version_change":"18.3.0 → 18.4.1","issue":{"uuid":"5858807294","node_id":"PR_kwDOPOy1V88AAAABIhqgfg","number":1130,"state":"open","title":"BAU: Bump the dev-dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependabot","dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-15T02:06:04.000Z","updated_at":"2026-10-15T02:07:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"BAU: Bump","group_name":"dev-dependencies","update_count":13,"packages":[{"name":"@redocly/cli","old_version":"2.54.2","new_version":"2.60.0","repository_url":"https://github.com/Redocly/redocly-cli"},{"name":"@types/aws-lambda","old_version":"8.10.163","new_version":"8.10.164","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/node","old_version":"24.13.6","new_version":"24.19.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-playwright","old_version":"2.12.0","new_version":"2.12.1","repository_url":"https://github.com/mskelton/eslint-plugin-playwright"},{"name":"knip","old_version":"6.38.0","new_version":"6.40.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"pino","old_version":"10.3.1","new_version":"10.4.0","repository_url":"https://github.com/pinojs/pino"},{"name":"rolldown","old_version":"1.2.10","new_version":"1.2.13","repository_url":"https://github.com/rolldown/rolldown"},{"name":"sass","old_version":"1.105.0","new_version":"1.105.1","repository_url":"https://github.com/sass/dart-sass"},{"name":"typescript-eslint","old_version":"8.70.1","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vitest","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@redocly/cli](https://github.com/Redocly/redocly-cli) | `2.54.2` | `2.60.0` |\n| [@types/aws-lambda](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/aws-lambda) | `8.10.163` | `8.10.164` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.13.6` | `24.19.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.1` | `5.0.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.12.0` | `2.12.1` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.38.0` | `6.40.0` |\n| [pino](https://github.com/pinojs/pino) | `10.3.1` | `10.4.0` |\n| [rolldown](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown) | `1.2.10` | `1.2.13` |\n| [sass](https://github.com/sass/dart-sass) | `1.105.0` | `1.105.1` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.70.1` | `8.71.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.1` | `5.0.3` |\n\n\nUpdates `@redocly/cli` from 2.54.2 to 2.60.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Redocly/redocly-cli/releases\"\u003e@​redocly/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.60.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003e--file-name-conflicts-severity\u003c/code\u003e option for the \u003ccode\u003esplit\u003c/code\u003e command to control how file name conflicts are reported.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed an issue where \u003ccode\u003esplit\u003c/code\u003e lost content when two components, paths, webhooks, channels, operations, or code samples got the same file name.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e \u003ccode\u003esplit\u003c/code\u003e output may differ from older releases: when several names would share one file, each later file now gets a \u003ccode\u003e-n\u003c/code\u003e suffix, where \u003ccode\u003en\u003c/code\u003e is its order, for example \u003ccode\u003euser-2.yaml\u003c/code\u003e next to \u003ccode\u003eUser.yaml\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.59.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eImproved \u003ccode\u003eredocly recheck\u003c/code\u003e to lint the \u003ccode\u003edescription\u003c/code\u003e fields of API descriptions.\nFindings report the source line and column.\nYou can suppress the findings by file, rule, and pointer, or adjust rules for descriptions only.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e \u003ccode\u003eResolvedRecheckConfig\u003c/code\u003e gains a required \u003ccode\u003edescriptionRules\u003c/code\u003e field.\nLibrary code that builds that object by hand must set it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated \u003ccode\u003ebrace-expansion\u003c/code\u003e to \u003ccode\u003e2.1.7\u003c/code\u003e and \u003ccode\u003e5.0.12\u003c/code\u003e, \u003ccode\u003edompurify\u003c/code\u003e to \u003ccode\u003e3.4.16\u003c/code\u003e, \u003ccode\u003efast-uri\u003c/code\u003e to \u003ccode\u003e3.1.8\u003c/code\u003e, and \u003ccode\u003ejs-yaml\u003c/code\u003e to \u003ccode\u003e5.4.3\u003c/code\u003e to resolve \u003ccode\u003eCVE-2026-102276\u003c/code\u003e, \u003ccode\u003eCVE-2026-102277\u003c/code\u003e, \u003ccode\u003eCVE-2026-102278\u003c/code\u003e, \u003ccode\u003eCVE-2026-86472\u003c/code\u003e, \u003ccode\u003eGHSA-p98j-92pf-mc4p\u003c/code\u003e, and \u003ccode\u003eGHSA-r3ph-w7gj-g6xm\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eoxfmt\u003c/code\u003e to \u003ccode\u003e0.72.0\u003c/code\u003e and \u003ccode\u003etinypool\u003c/code\u003e to \u003ccode\u003e2.2.0\u003c/code\u003e to resolve \u003ccode\u003eCVE-2026-104848\u003c/code\u003e and \u003ccode\u003eCVE-2026-104849\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003eproxy-addr\u003c/code\u003e to \u003ccode\u003e2.0.8\u003c/code\u003e and \u003ccode\u003esource-map-js\u003c/code\u003e to \u003ccode\u003e1.2.2\u003c/code\u003e to resolve \u003ccode\u003eCVE-2026-90711\u003c/code\u003e and \u003ccode\u003eCVE-2026-93749\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/openapi-core\u003c/code\u003e to v2.59.0.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/recheck\u003c/code\u003e to v2.59.0.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/reunite-integration\u003c/code\u003e to v2.59.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.58.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue where the generated PHP client failed with \u003ccode\u003eUndefined constant \u0026quot;OPERATIONS\u0026quot;\u003c/code\u003e when OPcache preload was enabled.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/client-generator\u003c/code\u003e to v0.4.23.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.58.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImproved performance of the \u003ccode\u003eno-invalid-media-type-examples\u003c/code\u003e, \u003ccode\u003eno-invalid-schema-examples\u003c/code\u003e, and \u003ccode\u003eno-invalid-parameter-examples\u003c/code\u003e rules by reusing validators for schemas that are referenced or repeated.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/openapi-core\u003c/code\u003e to v2.58.1.\u003c/li\u003e\n\u003cli\u003eUpdated \u003ccode\u003e@​redocly/reunite-integration\u003c/code\u003e to v2.58.1.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​redocly/cli\u003c/code\u003e\u003ca href=\"https://github.com/2\"\u003e\u003ccode\u003e@​2\u003c/code\u003e\u003c/a\u003e.57.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003econst\u003c/code\u003e checking to the \u003ccode\u003eno-enum-type-mismatch\u003c/code\u003e rule: a \u003ccode\u003econst\u003c/code\u003e value must conform to the schema's \u003ccode\u003etype\u003c/code\u003e, the same way every \u003ccode\u003eenum\u003c/code\u003e value does.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote\u003c/strong\u003e: linting output may include new errors for schemas whose \u003ccode\u003econst\u003c/code\u003e value doesn't match their \u003ccode\u003etype\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/d7177a33a7dde5a4058744dfdfd0000a592998dc\"\u003e\u003ccode\u003ed7177a3\u003c/code\u003e\u003c/a\u003e chore: 🔖 release new versions (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3209\"\u003e#3209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/9fbdd45ad13255a801ab920a7c1c0ce8c71f78de\"\u003e\u003ccode\u003e9fbdd45\u003c/code\u003e\u003c/a\u003e feat: add case sensitivity in the split command (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3132\"\u003e#3132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/f900b59c66da84aaaf7926d937decae0addee68e\"\u003e\u003ccode\u003ef900b59\u003c/code\u003e\u003c/a\u003e chore: lint the docs and cookbook Markdown with redocly recheck (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3187\"\u003e#3187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/b8ec3f882bd4503578392d15c08eaff75afe8649\"\u003e\u003ccode\u003eb8ec3f8\u003c/code\u003e\u003c/a\u003e chore: 🔖 release new versions (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3200\"\u003e#3200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/f34746dc8ffb8fe49a634a2e9ce1286fdea12fe5\"\u003e\u003ccode\u003ef34746d\u003c/code\u003e\u003c/a\u003e feat(cli): lint API descriptions with redocly recheck (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3093\"\u003e#3093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/425bd33e7baa2a42d5129103926ace8a17f3e39f\"\u003e\u003ccode\u003e425bd33\u003c/code\u003e\u003c/a\u003e chore: update config to v0.62.0 (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3204\"\u003e#3204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/d0d877c7743d412031f70c9f8896eac7ebcf958c\"\u003e\u003ccode\u003ed0d877c\u003c/code\u003e\u003c/a\u003e chore: update oxfmt to resolve tinypool advisories (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3203\"\u003e#3203\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/4d1c8508aeb9fd44379f415d50bcbf487117a260\"\u003e\u003ccode\u003e4d1c850\u003c/code\u003e\u003c/a\u003e chore: update dev dependencies to resolve security advisories (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3201\"\u003e#3201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/8f46d462cbbed98e15626da9adb91290a0f4a4d6\"\u003e\u003ccode\u003e8f46d46\u003c/code\u003e\u003c/a\u003e chore: update performance benchmark (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3194\"\u003e#3194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Redocly/redocly-cli/commit/c52b721bdc92733bc6848a865384c1022ee26307\"\u003e\u003ccode\u003ec52b721\u003c/code\u003e\u003c/a\u003e chore: update the testing rule and align existing tests with it (\u003ca href=\"https://redirect.github.com/Redocly/redocly-cli/issues/3195\"\u003e#3195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Redocly/redocly-cli/compare/@redocly/cli@2.54.2...@redocly/cli@2.60.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/aws-lambda` from 8.10.163 to 8.10.164\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/aws-lambda\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 24.13.6 to 24.19.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 `@vitest/coverage-v8` from 5.0.1 to 5.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e@​vitest/coverage-v8's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.0.3\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIsolate \u003ccode\u003eresult.status\u003c/code\u003e between \u003ccode\u003erepeats\u003c/code\u003e runs  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11218\"\u003evitest-dev/vitest#11218\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5dbebe9e3\"\u003e\u003c!-- raw HTML omitted --\u003e(5dbeb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't print an interceptor warning in browser mode  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11377\"\u003evitest-dev/vitest#11377\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/15cc006aa\"\u003e\u003c!-- raw HTML omitted --\u003e(15cc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't retry when \u003ccode\u003etest.fails\u003c/code\u003e expectedly failed  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11219\"\u003evitest-dev/vitest#11219\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b24585f08\"\u003e\u003c!-- raw HTML omitted --\u003e(b2458)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eScope cache key generators to projects  -  by \u003ca href=\"https://github.com/ecoyoung\"\u003e\u003ccode\u003e@​ecoyoung\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11281\"\u003evitest-dev/vitest#11281\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11301\"\u003evitest-dev/vitest#11301\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/92ba7fc1d\"\u003e\u003c!-- raw HTML omitted --\u003e(92ba7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDelay server \u003ccode\u003elisten\u003c/code\u003e until tests start running  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11366\"\u003evitest-dev/vitest#11366\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d8ed3e9b\"\u003e\u003c!-- raw HTML omitted --\u003e(7d8ed)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCheck mock path boundaries  -  by \u003ca href=\"https://github.com/saryn17\"\u003e\u003ccode\u003e@​saryn17\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eRyosei Sato\u003c/strong\u003e and \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11361\"\u003evitest-dev/vitest#11361\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11362\"\u003evitest-dev/vitest#11362\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1c3888bce\"\u003e\u003c!-- raw HTML omitted --\u003e(1c388)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep config of browser-consumed environments  -  by \u003ca href=\"https://github.com/kasperpeulen\"\u003e\u003ccode\u003e@​kasperpeulen\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11378\"\u003evitest-dev/vitest#11378\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/aafc0996f\"\u003e\u003c!-- raw HTML omitted --\u003e(aafc0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore page crash while cancelling  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11386\"\u003evitest-dev/vitest#11386\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c36748fa\"\u003e\u003c!-- raw HTML omitted --\u003e(7c367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etoMatchScreenshot\u003c/code\u003e uses wrong reference on retried tests  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11393\"\u003evitest-dev/vitest#11393\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c22aba992\"\u003e\u003c!-- raw HTML omitted --\u003e(c22ab)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecache\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRevalidate imports of cached modules  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11381\"\u003evitest-dev/vitest#11381\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/38f98855f\"\u003e\u003c!-- raw HTML omitted --\u003e(38f98)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePin \u003ccode\u003ewhy-is-node-running\u003c/code\u003e to \u003ccode\u003e3.2.1\u003c/code\u003e to avoid users running into \u003ccode\u003eERR_PNPM_TRUST_DOWNGRADE\u003c/code\u003e  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11403\"\u003evitest-dev/vitest#11403\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f6c9a4977\"\u003e\u003c!-- raw HTML omitted --\u003e(f6c9a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePass current equality testers to \u003ccode\u003eexpect.extend\u003c/code\u003e asymmetric matchers  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11401\"\u003evitest-dev/vitest#11401\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e794a96b\"\u003e\u003c!-- raw HTML omitted --\u003e(3e794)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport Blob on jsdom 30.1  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11379\"\u003evitest-dev/vitest#11379\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6c49b7197\"\u003e\u003c!-- raw HTML omitted --\u003e(6c49b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epool\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003ePreserve unique pool ids when \u003ccode\u003egroupOrder\u003c/code\u003e is set  -  by \u003ca href=\"https://github.com/mtorp\"\u003e\u003ccode\u003e@​mtorp\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11392\"\u003evitest-dev/vitest#11392\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/50312ebb4\"\u003e\u003c!-- raw HTML omitted --\u003e(50312)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSplit-pane handle overlapping iframe  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11221\"\u003evitest-dev/vitest#11221\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f91db0dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(f91db)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evitest\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eRemove root temp dir on close  -  by \u003ca href=\"https://github.com/abhinav-phi\"\u003e\u003ccode\u003e@​abhinav-phi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11248\"\u003evitest-dev/vitest#11248\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c7119cf7\"\u003e\u003c!-- raw HTML omitted --\u003e(7c711)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003evm\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDo not optimize deps from index.html  -  by \u003ca href=\"https://github.com/ezefernandezyf\"\u003e\u003ccode\u003e@​ezefernandezyf\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-6)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11329\"\u003evitest-dev/vitest#11329\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11360\"\u003evitest-dev/vitest#11360\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/caf2887de\"\u003e\u003c!-- raw HTML omitted --\u003e(caf28)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't reuse scripts across vite environments  -  by \u003ca href=\"https://github.com/MO2k4\"\u003e\u003ccode\u003e@​MO2k4\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eMartin Oehlert\u003c/strong\u003e and \u003cstrong\u003eClaude\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11395\"\u003evitest-dev/vitest#11395\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/346d3896b\"\u003e\u003c!-- raw HTML omitted --\u003e(346d3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v5.0.2...v5.0.3\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev5.0.2\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBind \u003ccode\u003eprocess\u003c/code\u003e in case global is overwritten  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11343\"\u003evitest-dev/vitest#11343\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0b79231ad\"\u003e\u003c!-- raw HTML omitted --\u003e(0b792)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edetect-async-leaks\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eIgnore \u003ccode\u003eprocess.stdio\u003c/code\u003e handles  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11333\"\u003evitest-dev/vitest#11333\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fd6b9790\"\u003e\u003c!-- raw HTML omitted --\u003e(0fd6b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexpect\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003etoMatchObject\u003c/code\u003e with asymmetric matchers  -  by \u003ca href=\"https://github.com/ShreeBohara\"\u003e\u003ccode\u003e@​ShreeBohara\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 5\u003c/strong\u003e, \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eHiroshi Ogawa\u003c/strong\u003e and \u003cstrong\u003eCodex (GPT-5)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11100\"\u003evitest-dev/vitest#11100\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/42523289e\"\u003e\u003c!-- raw HTML omitted --\u003e(42523)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ejsdom\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix \u003ccode\u003eRequest\u003c/code\u003e with \u003ccode\u003eBlob\u003c/code\u003e body on jsdom 28+  -  by \u003ca href=\"https://github.com/harshit-d3v\"\u003e\u003ccode\u003e@​harshit-d3v\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11295\"\u003evitest-dev/vitest#11295\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d1c3ecc93\"\u003e\u003c!-- raw HTML omitted --\u003e(d1c3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporter\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eagent\u003c/code\u003e to respect \u003ccode\u003e--silent\u003c/code\u003e  -  by \u003ca href=\"https://github.com/Raj4478\"\u003e\u003ccode\u003e@​Raj4478\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11271\"\u003evitest-dev/vitest#11271\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5b95efb6d\"\u003e\u003c!-- raw HTML omitted --\u003e(5b95e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ereporters\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eHandle concurrent \u003ccode\u003ecreateReport\u003c/code\u003e calls  -  by \u003ca href=\"https://github.com/7rulnik\"\u003e\u003ccode\u003e@​7rulnik\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11278\"\u003evitest-dev/vitest#11278\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e8e556ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(e8e55)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehanging-process\u003c/code\u003e to use ESM entrypoint  -  by \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11316\"\u003evitest-dev/vitest#11316\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4e91e5668\"\u003e\u003c!-- raw HTML omitted --\u003e(4e91e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003espy\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eFix stack overflow when spying \u003ccode\u003eSet.prototype.add\u003c/code\u003e  -  by \u003ca href=\"https://github.com/fengmk2\"\u003e\u003ccode\u003e@​fengmk2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/11299\"\u003evitest-dev/vitest#11299\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a0a939653\"\u003e\u003c!-- raw HTML omitted --\u003e(a0a93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/33cadea62e8763c455c7fca38d9ab1dda87c5f75\"\u003e\u003ccode\u003e33cadea\u003c/code\u003e\u003c/a\u003e chore: release v5.0.3 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11409\"\u003e#11409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/a029e76a9e72ebdd468452ee1bb788bbe5dc635e\"\u003e\u003ccode\u003ea029e76\u003c/code\u003e\u003c/a\u003e chore: migrate to oxc (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11367\"\u003e#11367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/428e2e5043c64635b6b157358bde2fdeaa7b6b3a\"\u003e\u003ccode\u003e428e2e5\u003c/code\u003e\u003c/a\u003e chore: release v5.0.2 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11357\"\u003e#11357\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v5.0.3/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-playwright` from 2.12.0 to 2.12.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/releases\"\u003eeslint-plugin-playwright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.12.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/compare/v2.12.0...v2.12.1\"\u003e2.12.1\u003c/a\u003e (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ereplace unsupported json schema \u003ccode\u003econtains\u003c/code\u003e with \u003ccode\u003eenum\u003c/code\u003e in rule option schema (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/514\"\u003e#514\u003c/a\u003e) (\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/4f35eb6df1ebaad3ff672aa4a4d13355fdcad2bc\"\u003e4f35eb6\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/mskelton/eslint-plugin-playwright/commit/e3eaf6c0a6ec468f9073c33d46da0774ccb213dd\"\u003e\u003ccode\u003ee3eaf6c\u003c/code\u003e\u003c/a\u003e chore(deps): Bump brace-expansion from 2.1.4 to 2.1.7 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/9e5fb46786e7f1e908ee02e0d2da674105f00229\"\u003e\u003ccode\u003e9e5fb46\u003c/code\u003e\u003c/a\u003e chore(deps-dev): Bump vitest from 4.1.9 to 4.1.11 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/d89f4b31cfd10e231abe83528b110e83e2007b32\"\u003e\u003ccode\u003ed89f4b3\u003c/code\u003e\u003c/a\u003e chore(deps): Bump js-yaml from 4.3.1 to 4.3.2 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/99e1e66cc54e9b9f4fd9e572a39e2ba807f277e2\"\u003e\u003ccode\u003e99e1e66\u003c/code\u003e\u003c/a\u003e chore(deps): Bump ip-address from 10.4.0 to 10.7.2 (\u003ca href=\"https://redirect.github.com/mskelton/eslint-plugin-playwright/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/commit/4f35eb6df1ebaad3ff672aa4a4d13355fdcad2bc\"\u003e\u003ccode\u003e4f35eb6\u003c/code\u003e\u003c/a\u003e fix: replace unsupported json schema \u003ccode\u003econtains\u003c/code\u003e with \u003ccode\u003eenum\u003c/code\u003e in rule option sc...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/mskelton/eslint-plugin-playwright/compare/v2.12.0...v2.12.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.38.0 to 6.40.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.40.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eResolve local and scope-only extends in commitlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2079\"\u003e#2079\u003c/a\u003e) (e667552d4e7122094565d3ad9ae407acfc0ac684) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eClarify worktree guides and plugin review preparation (dd02baf020d23af1d47c44c1a726a61014b270bd)\u003c/li\u003e\n\u003cli\u003eDocument stale cache results and workarounds (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2078\"\u003e#2078\u003c/a\u003e) (3573749a5d5bbee6305f207cc7d1b72c200c8c9b)\u003c/li\u003e\n\u003cli\u003eExclude test files from package entries in production mode (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2082\"\u003e#2082\u003c/a\u003e) (b86f45f9d38d4b83baad98e43983e08910e00c78) - thanks \u003ca href=\"https://github.com/jonathanong\"\u003e\u003ccode\u003e@​jonathanong\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Serverless file variables in plugins and functions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2074\"\u003e#2074\u003c/a\u003e) (99cac789694ea8d76cd38184d2d7c95f34315224) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve locally referenced namespace members (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2070\"\u003e#2070\u003c/a\u003e) (f0f36df766cd74ad7ae03fbf8940bdeb792439be) - thanks \u003ca href=\"https://github.com/MFA-G\"\u003e\u003ccode\u003e@​MFA-G\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: add the commitlint-plugin prefix to Commitlint plugin names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2096\"\u003e#2096\u003c/a\u003e) (3decd35ff0a4220c7cd2c9142dc69c89794b3927) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match .mjs config files in the simple-git-hooks plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2097\"\u003e#2097\u003c/a\u003e) (79a87d92396c2444ae4ef3c780c0d2e18cd73e4c) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: match capacitor.config.js in the Capacitor plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2098\"\u003e#2098\u003c/a\u003e) (4a5ec96d818117a7f2eafa027e3b707bc97573a8) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typescript): ArrayExpression (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2099\"\u003e#2099\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2100\"\u003e#2100\u003c/a\u003e) (87fea9f201c2fd864eafa31bdad68910a8a177ba) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003ePreserve development entry pattern groups (7c229f4e1918075d801ed3b046fa022b1d3bcc41)\u003c/li\u003e\n\u003cli\u003eResolve null package exports to the files they hide (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2084\"\u003e#2084\u003c/a\u003e, close \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2085\"\u003e#2085\u003c/a\u003e) (5bd46260feb60b957c2631bc72375ef192e441e0)\u003c/li\u003e\n\u003cli\u003ePin InvokeAI ecosystem test (4e0a3432eb35e3f628f6d3b7fcd14b942de343d0)\u003c/li\u003e\n\u003cli\u003efix(utils): add jsx extension to source mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2087\"\u003e#2087\u003c/a\u003e) (eaa353b5fc30c2f12cdf2c29e6dd68e0d0950062) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(serverless-framework): handle explicit extensions in handler paths (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2091\"\u003e#2091\u003c/a\u003e) (e9393965be7563640921e3f20c946fcb9132e1cb) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAnnotate published manifest return type (d95a8310a0d0dca8f23d8dd3f83e7b0a1909d038)\u003c/li\u003e\n\u003cli\u003eAdd Jasmine plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2105\"\u003e#2105\u003c/a\u003e) (9ed14911d5c5752aef36878ab3d515c35d1ac6bc) - thanks \u003ca href=\"https://github.com/SulimanAbdulrazzaq\"\u003e\u003ccode\u003e@​SulimanAbdulrazzaq\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve workspace exports with fallback arrays (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2088\"\u003e#2088\u003c/a\u003e) (49c2aaeaba4544f25cc02c19d5da5152a8ef68c3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(postcss): ignore disabled plugins in object configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2092\"\u003e#2092\u003c/a\u003e) (b84fdf8a8ee676ee45f4313009ebfe969d034a88) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e) (1af96bce36b0d0d07791de100c7f2ea5672a478c) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eCache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e) (01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e) (dc3a47e2d810808314454b8f5c23070f136d15d3) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDon't let a self-closing \u003c!-- raw HTML omitted --\u003e swallow the next \u003c!-- raw HTML omitted --\u003e (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e) (989fdadde0a068d1d1c52e26a8327b99c5de0668) - thanks \u003ca href=\"https://github.com/maniflopi\"\u003e\u003ccode\u003e@​maniflopi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e) (6d44e532ed6320cdf4f4c3253b26e155c4d26ba7) - thanks \u003ca href=\"https://github.com/everton-dgn\"\u003e\u003ccode\u003e@​everton-dgn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e) (a5f4cfbff7f263a0ea8d5461a3f9216cbef38602) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve Vitest paths from the top-level root (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2119\"\u003e#2119\u003c/a\u003e) (8a495d424cf60cab502c5c5ea476a3c761a9da6d) - thanks \u003ca href=\"https://github.com/SwastikTripathi\"\u003e\u003ccode\u003e@​SwastikTripathi\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(rsbuild): detect config from tools.rspack inside rsbuild config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2077\"\u003e#2077\u003c/a\u003e) (c4ed619d5352b1d7b9ffaacc8c75d247eef39517) - thanks \u003ca href=\"https://github.com/TkDodo\"\u003e\u003ccode\u003e@​TkDodo\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd osls plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2104\"\u003e#2104\u003c/a\u003e) (a8bf4bfaeba2ee0aaf756b343789de9fff75a1fa) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eExplain why types in signatures of used exports are not reported (61f5cc02e6b4e895dbd8507ab845ae30f073211b)\u003c/li\u003e\n\u003cli\u003eUpdate sponsors page (7ea33fa2c116c29e2c131bda900aaf7b9073a3ff)\u003c/li\u003e\n\u003cli\u003eEdit docs (b459d7c3ad6d5535fd7646d93022a2974641ccd9)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.39.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Railway plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2026\"\u003e#2026\u003c/a\u003e) (6da55767eb419701dd32f93789a00e8bdc915276) - thanks \u003ca href=\"https://github.com/jonahsnider\"\u003e\u003ccode\u003e@​jonahsnider\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate query snapshot (8877d3cf35943e17a617e1197fa46c5a43342479)\u003c/li\u003e\n\u003cli\u003eFix excluded tags on entry re-exports (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2062\"\u003e#2062\u003c/a\u003e) (b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate rolldown snapshot (3a45c806e1c1b7ceb078903652c8631566400096)\u003c/li\u003e\n\u003cli\u003eSkip synthetic self-imports in Vue and Nuxt auto-import compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2067\"\u003e#2067\u003c/a\u003e) (d912d807e41f140bbc79bafce6882b3c05dec6ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(angular): keep other projects' inputs when one has no architect (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2064\"\u003e#2064\u003c/a\u003e) (af3f42e9772e9937fd71b7557d3b54aee1db339a) - thanks \u003ca href=\"https://github.com/Cayan\"\u003e\u003ccode\u003e@​Cayan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(vite): resolve nested HTML entry points in multi-page apps (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1988\"\u003e#1988\u003c/a\u003e) (4648aefe56e7bac521bb6f17189473b46f8ff00f) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImprove Rstest plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2068\"\u003e#2068\u003c/a\u003e) (add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf) - thanks \u003ca href=\"https://github.com/fi3ework\"\u003e\u003ccode\u003e@​fi3ework\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle profiles, formatters and require paths in Cucumber plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2065\"\u003e#2065\u003c/a\u003e) (2ad39fcf02e067b4bdfc06a658bf4bf5abeea764) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(playwright): resolve globalSetup/globalTeardown from config dir (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2076\"\u003e#2076\u003c/a\u003e) (7060bb968339680d694275413aba2833e4521ed9) - thanks \u003ca href=\"https://github.com/alokn\"\u003e\u003ccode\u003e@​alokn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: read entry export tags under the re-exported names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2069\"\u003e#2069\u003c/a\u003e) (1698683df95a96b3515795eb664aacf030042d7b) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/dd6d422b129063fe8e16f176addc0744d7579987\"\u003e\u003ccode\u003edd6d422\u003c/code\u003e\u003c/a\u003e Release knip@6.40.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a8bf4bfaeba2ee0aaf756b343789de9fff75a1fa\"\u003e\u003ccode\u003ea8bf4bf\u003c/code\u003e\u003c/a\u003e Add osls plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2104\"\u003e#2104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c4ed619d5352b1d7b9ffaacc8c75d247eef39517\"\u003e\u003ccode\u003ec4ed619\u003c/code\u003e\u003c/a\u003e fix(rsbuild): detect config from tools.rspack inside rsbuild config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2077\"\u003e#2077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a495d424cf60cab502c5c5ea476a3c761a9da6d\"\u003e\u003ccode\u003e8a495d4\u003c/code\u003e\u003c/a\u003e Resolve Vitest paths from the top-level root (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2114\"\u003e#2114\u003c/a\u003e) (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2119\"\u003e#2119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a5f4cfbff7f263a0ea8d5461a3f9216cbef38602\"\u003e\u003ccode\u003ea5f4cfb\u003c/code\u003e\u003c/a\u003e fix: resolve Jest module names without the jest-* prefix (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2095\"\u003e#2095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/6d44e532ed6320cdf4f4c3253b26e155c4d26ba7\"\u003e\u003ccode\u003e6d44e53\u003c/code\u003e\u003c/a\u003e fix(oxlint): resolve lint from loaded Vite config (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2108\"\u003e#2108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/989fdadde0a068d1d1c52e26a8327b99c5de0668\"\u003e\u003ccode\u003e989fdad\u003c/code\u003e\u003c/a\u003e Don't let a self-closing \u0026lt;script /\u0026gt; swallow the next \u0026lt;script\u0026gt; (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2113\"\u003e#2113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/dc3a47e2d810808314454b8f5c23070f136d15d3\"\u003e\u003ccode\u003edc3a47e\u003c/code\u003e\u003c/a\u003e fix: include custom compiler extensions in source path mapping (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2090\"\u003e#2090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/01cb43267ca5dc03a2cbcba0a19fd891d4ed1f37\"\u003e\u003ccode\u003e01cb432\u003c/code\u003e\u003c/a\u003e Cache config file inputs per plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2109\"\u003e#2109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/1af96bce36b0d0d07791de100c7f2ea5672a478c\"\u003e\u003ccode\u003e1af96bc\u003c/code\u003e\u003c/a\u003e Resolve webServer commands in Playwright plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2110\"\u003e#2110\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.40.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pino` from 10.3.1 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pinojs/pino/releases\"\u003epino's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd warning on incompatible formatters.level with multi-target transports by \u003ca href=\"https://github.com/lraveri\"\u003e\u003ccode\u003e@​lraveri\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2381\"\u003epinojs/pino#2381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use TSTyche for type testing by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2376\"\u003epinojs/pino#2376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Sentry Native Integration Docs by \u003ca href=\"https://github.com/KyleTryon\"\u003e\u003ccode\u003e@​KyleTryon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2394\"\u003epinojs/pino#2394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: add flush limitation warning for pino-pretty, fix \u003ca href=\"https://redirect.github.com/pinojs/pino/issues/1015\"\u003e#1015\u003c/a\u003e by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2402\"\u003epinojs/pino#2402\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(browser): add redaction support by \u003ca href=\"https://github.com/abhu85\"\u003e\u003ccode\u003e@​abhu85\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2396\"\u003epinojs/pino#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: lint the type declaration file by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2408\"\u003epinojs/pino#2408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove TSTyche config file by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2409\"\u003epinojs/pino#2409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify multi-target formatter limitation by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2410\"\u003epinojs/pino#2410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNo bots allowed by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2412\"\u003epinojs/pino#2412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump real-require from 0.2.0 to 1.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2414\"\u003epinojs/pino#2414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump neostandard from 0.12.2 to 0.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2418\"\u003epinojs/pino#2418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: use util.getCallSites when able to allow frozen intrinsics by \u003ca href=\"https://github.com/CarlOlson\"\u003e\u003ccode\u003e@​CarlOlson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2294\"\u003epinojs/pino#2294\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate AWS Lambda reference in asynchronous docs by \u003ca href=\"https://github.com/urbanautomaton\"\u003e\u003ccode\u003e@​urbanautomaton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2413\"\u003epinojs/pino#2413\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update license by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2375\"\u003epinojs/pino#2375\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add named \u003ccode\u003edefault\u003c/code\u003e export by \u003ca href=\"https://github.com/mrazauskas\"\u003e\u003ccode\u003e@​mrazauskas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2421\"\u003epinojs/pino#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate contrib doc by \u003ca href=\"https://github.com/jsumners\"\u003e\u003ccode\u003e@​jsumners\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2424\"\u003epinojs/pino#2424\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: use \u003ccode\u003e@​hono/structured-logger\u003c/code\u003e for Pino with Hono by \u003ca href=\"https://github.com/brunorodmoreira\"\u003e\u003ccode\u003e@​brunorodmoreira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2425\"\u003epinojs/pino#2425\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): remove \u003ccode\u003epre-commit\u003c/code\u003e by \u003ca href=\"https://github.com/kshitijanurag\"\u003e\u003ccode\u003e@​kshitijanurag\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2423\"\u003epinojs/pino#2423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/github-script from 8 to 9 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2427\"\u003epinojs/pino#2427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-promise from 6.6.0 to 7.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2428\"\u003epinojs/pino#2428\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump tstyche from 6.2.0 to 7.1.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2429\"\u003epinojs/pino#2429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: fix flaky transport config test by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2434\"\u003epinojs/pino#2434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: upgrade typescript to v6.0.2 by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2419\"\u003epinojs/pino#2419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix typo \u0026quot;compatability\u0026quot; → \u0026quot;compatibility\u0026quot; in README by \u003ca href=\"https://github.com/premsreelathasugeendran\"\u003e\u003ccode\u003e@​premsreelathasugeendran\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2435\"\u003epinojs/pino#2435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: warn against untrusted top-level log keys by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2450\"\u003epinojs/pino#2450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(transport): keep event loop alive while awaiting async flush by \u003ca href=\"https://github.com/YBJ0000\"\u003e\u003ccode\u003e@​YBJ0000\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2470\"\u003epinojs/pino#2470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify Node.js version support policy in LTS doc by \u003ca href=\"https://github.com/youdie006\"\u003e\u003ccode\u003e@​youdie006\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2472\"\u003epinojs/pino#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: honor per-target level filter on single-element \u003ccode\u003etargets\u003c/code\u003e array by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2432\"\u003epinojs/pino#2432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(multistream): resolve string level labels in write() by \u003ca href=\"https://github.com/xianjianlf2\"\u003e\u003ccode\u003e@​xianjianlf2\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2474\"\u003epinojs/pino#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: escape child binding keys by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2452\"\u003epinojs/pino#2452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify stringification limits by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2475\"\u003epinojs/pino#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add setBindings to the browser logger by \u003ca href=\"https://github.com/ankit1324\"\u003e\u003ccode\u003e@​ankit1324\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2471\"\u003epinojs/pino#2471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 6 to 7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2486\"\u003epinojs/pino#2486\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump through2 from 4.0.2 to 5.0.10 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2488\"\u003epinojs/pino#2488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump bole from 5.0.29 to 6.0.7 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2489\"\u003epinojs/pino#2489\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-n from 17.23.2 to 18.2.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2492\"\u003epinojs/pino#2492\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/checkout from 6.0.2 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2485\"\u003epinojs/pino#2485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: log objects with an own \u003cstrong\u003eproto\u003c/strong\u003e key instead of crashing by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2457\"\u003epinojs/pino#2457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: build the redaction shape without Object.prototype by \u003ca href=\"https://github.com/luantaraschi\"\u003e\u003ccode\u003e@​luantaraschi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2495\"\u003epinojs/pino#2495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add Node.js 26 to test matrix by \u003ca href=\"https://github.com/aquie00t\"\u003e\u003ccode\u003e@​aquie00t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2480\"\u003epinojs/pino#2480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(multistream): fix clone add crash and missing end/remove methods by \u003ca href=\"https://github.com/spellsaif\"\u003e\u003ccode\u003e@​spellsaif\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2493\"\u003epinojs/pino#2493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: check pull requests target main by \u003ca href=\"https://github.com/marktran0710\"\u003e\u003ccode\u003e@​marktran0710\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2500\"\u003epinojs/pino#2500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump docsify-cli from 4.4.4 to 5.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2513\"\u003epinojs/pino#2513\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump eslint-plugin-n from 18.2.2 to 18.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2515\"\u003epinojs/pino#2515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDelete .github/dependabot.yml by \u003ca href=\"https://github.com/jsumners\"\u003e\u003ccode\u003e@​jsumners\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2517\"\u003epinojs/pino#2517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document the APIs that are unavailable in the browser by \u003ca href=\"https://github.com/kavish-19\"\u003e\u003ccode\u003e@​kavish-19\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2521\"\u003epinojs/pino#2521\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin lock-threads to upstream v6.0.2 to fix token validation failure by \u003ca href=\"https://github.com/simpleqt\"\u003e\u003ccode\u003e@​simpleqt\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2525\"\u003epinojs/pino#2525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd bindings() method to browser logger by \u003ca href=\"https://github.com/RT1811\"\u003e\u003ccode\u003e@​RT1811\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/pinojs/pino/pull/2504\"\u003epinojs/pino#2504\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pinojs/pino/commit/b29dbe97820630e7128e464c50263b427965ec99\"\u003e\u003ccode\u003eb29dbe9\u003c/code\u003e\u003c/a\u003e Bumped v10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pinojs/pino/commit/6ba157b1a6727399f9dc01a584d2e08d5094ea57\"\u003e\u003ccode\u003e6ba157b\u003c/code\u003e\u003c/a\u003e docs: fix the pino-pretty flush explanation after thread-stream#198 (\u003ca href=\"https://redirect.github....\n\n_Description has been truncated_","html_url":"https://github.com/govuk-one-login/account-components/pull/1130","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/govuk-one-login%2Faccount-components/issues/1130","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1130/packages"}},{"old_version":"17.24.0","new_version":"18.4.1","update_type":"major","path":null,"pr_created_at":"2026-10-14T18:27:34.000Z","version_change":"17.24.0 → 18.4.1","issue":{"uuid":"5853339867","node_id":"PR_kwDOQ7el4s8AAAABIdTZ3w","number":479,"state":"open","title":"chore(deps): bump eslint-plugin-n from 17.24.0 to 18.4.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-14T18:27:34.000Z","updated_at":"2026-10-14T18:31:58.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"eslint-plugin-n","old_version":"17.24.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.24.0 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.24.0...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=17.24.0\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated internal development tooling. There are no changes to app features or user-facing behavior.\n\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/3mrhussein/findeg/pull/479","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mrhussein%2Ffindeg/issues/479","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/479/packages"}},{"old_version":"18.3.0","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-14T13:51:48.000Z","version_change":"18.3.0 → 18.4.1","issue":{"uuid":"5849060812","node_id":"PR_kwDOS1DM6c8AAAABIZ2T6Q","number":52,"state":"closed","title":"chore(deps): bump the non-breaking-changes group across 1 directory with 87 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-10-16T02:53:46.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T13:51:48.000Z","updated_at":"2026-10-16T02:53:48.000Z","time_to_close":133318,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"non-breaking-changes","update_count":87,"packages":[{"name":"@clack/prompts","old_version":"1.7.0","new_version":"1.8.1","repository_url":"https://github.com/bombshell-dev/clack"},{"name":"@commitlint/cli","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@ctrl/tinycolor","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/scttcper/tinycolor"},{"name":"@eslint-community/eslint-plugin-eslint-comments","old_version":"4.7.2","new_version":"4.8.1","repository_url":"https://github.com/eslint-community/eslint-plugin-eslint-comments"},{"name":"@form-create/ant-design-vue","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@form-create/antdv-next","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@form-create/element-ui","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@form-create/naive-ui","old_version":"3.3.3","new_version":"3.3.5","repository_url":"https://github.com/xaboy/form-create"},{"name":"@iconify/json","old_version":"2.2.521","new_version":"2.2.541","repository_url":"https://github.com/iconify/icon-sets"},{"name":"@iconify/vue","old_version":"5.0.1","new_version":"5.0.3","repository_url":"https://github.com/iconify/iconify"},{"name":"@intlify/core-base","old_version":"11.4.10","new_version":"11.4.14","repository_url":"https://github.com/intlify/vue-i18n"},{"name":"@jspm/generator","old_version":"2.16.3","new_version":"2.17.0","repository_url":"https://github.com/jspm/jspm"},{"name":"@lucide/vue","old_version":"1.34.0","new_version":"1.55.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"@stylistic/stylelint-plugin","old_version":"5.3.0","new_version":"5.3.1","repository_url":"https://github.com/stylelint-stylistic/stylelint-stylistic"},{"name":"@tanstack/store","old_version":"0.11.1","new_version":"0.11.2","repository_url":"https://github.com/TanStack/store"},{"name":"@tanstack/vue-store","old_version":"0.11.1","new_version":"0.11.2","repository_url":"https://github.com/TanStack/store"},{"name":"@tiptap/core","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-document","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-highlight","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-image","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-link","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-placeholder","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-align","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-text-style","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/extension-underline","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/pm","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/starter-kit","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tiptap/vue-3","old_version":"3.30.5","new_version":"3.31.4","repository_url":"https://github.com/ueberdosis/tiptap"},{"name":"@tsdown/css","old_version":"0.22.14","new_version":"0.23.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"@typescript-eslint/parser","old_version":"8.68.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitejs/plugin-vue","old_version":"6.0.8","new_version":"6.0.10","repository_url":"https://github.com/vitejs/vite-plugin-vue"},{"name":"@vue/shared","old_version":"3.5.42","new_version":"3.5.43","repository_url":"https://github.com/vuejs/core"},{"name":"@vue/test-utils","old_version":"2.4.11","new_version":"2.5.1","repository_url":"https://github.com/vuejs/test-utils"},{"name":"antdv-next","old_version":"1.5.2","new_version":"1.6.0","repository_url":"https://github.com/antdv-next/antdv-next"},{"name":"bpmn-js-properties-panel","old_version":"5.54.0","new_version":"5.65.2","repository_url":"https://github.com/bpmn-io/bpmn-js-properties-panel"},{"name":"bpmn-js","old_version":"18.25.1","new_version":"18.31.0","repository_url":"https://github.com/bpmn-io/bpmn-js"},{"name":"cac","old_version":"7.0.0","new_version":"7.0.1","repository_url":"https://github.com/cacjs/cac"},{"name":"cspell","old_version":"10.1.1","new_version":"10.3.6","repository_url":"https://github.com/streetsidesoftware/cspell"},{"name":"diagram-js","old_version":"15.24.1","new_version":"15.28.1","repository_url":"https://github.com/bpmn-io/diagram-js"},{"name":"element-plus","old_version":"2.14.5","new_version":"2.14.7","repository_url":"https://github.com/element-plus/element-plus"},{"name":"es-toolkit","old_version":"1.51.0","new_version":"1.52.0","repository_url":"https://github.com/toss/es-toolkit"},{"name":"eslint-plugin-better-tailwindcss","old_version":"4.7.0","new_version":"4.9.0","repository_url":"https://github.com/schoero/eslint-plugin-better-tailwindcss"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-perfectionist","old_version":"5.10.1","new_version":"5.12.1","repository_url":"https://github.com/azat-io/eslint-plugin-perfectionist"},{"name":"eslint-plugin-pnpm","old_version":"1.8.0","new_version":"1.9.1","repository_url":"https://github.com/antfu/pnpm-workspace-utils"},{"name":"eslint-plugin-vue","old_version":"10.10.0","new_version":"10.11.1","repository_url":"https://github.com/vuejs/eslint-plugin-vue"},{"name":"eslint-plugin-yml","old_version":"3.8.1","new_version":"3.9.0","repository_url":"https://github.com/ota-meshi/eslint-plugin-yml"},{"name":"eslint","old_version":"10.9.1","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"execa","old_version":"10.0.1","new_version":"10.1.0","repository_url":"https://github.com/sindresorhus/execa"},{"name":"globals","old_version":"17.11.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"happy-dom","old_version":"20.11.8","new_version":"20.14.6","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"knip","old_version":"6.32.3","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"lefthook","old_version":"2.1.10","new_version":"2.2.1","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"livekit-client","old_version":"2.22.1","new_version":"2.22.4","repository_url":"https://github.com/livekit/client-sdk-js"},{"name":"naive-ui","old_version":"2.45.2","new_version":"2.45.3","repository_url":"https://github.com/tusen-ai/naive-ui"},{"name":"oxfmt","old_version":"0.60.0","new_version":"0.72.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"oxlint","old_version":"1.80.0","new_version":"1.87.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"pkg-types","old_version":"2.3.1","new_version":"2.3.3","repository_url":"https://github.com/unjs/pkg-types"},{"name":"playwright","old_version":"1.62.1","new_version":"1.64.0","repository_url":"https://github.com/microsoft/playwright"},{"name":"postcss","old_version":"8.5.26","new_version":"8.5.29","repository_url":"https://github.com/postcss/postcss"},{"name":"publint","old_version":"0.3.24","new_version":"0.3.25","repository_url":"https://github.com/publint/publint"},{"name":"qs","old_version":"6.15.3","new_version":"6.16.0","repository_url":"https://github.com/ljharb/qs"},{"name":"reka-ui","old_version":"2.10.4","new_version":"2.11.0","repository_url":"https://github.com/unovue/reka-ui"},{"name":"sass-embedded","old_version":"1.103.1","new_version":"1.105.1","repository_url":"https://github.com/sass/embedded-host-node"},{"name":"sass","old_version":"1.103.1","new_version":"1.105.1","repository_url":"https://github.com/sass/dart-sass"},{"name":"stylelint-order","old_version":"8.1.1","new_version":"8.1.2","repository_url":"https://github.com/hudochenkov/stylelint-order"},{"name":"stylelint-scss","old_version":"7.2.0","new_version":"7.3.0","repository_url":"https://github.com/stylelint-scss/stylelint-scss"},{"name":"stylelint","old_version":"17.14.1","new_version":"17.16.0","repository_url":"https://github.com/stylelint/stylelint"},{"name":"tailwind-merge","old_version":"3.6.0","new_version":"3.7.0","repository_url":"https://github.com/dcastil/tailwind-merge"},{"name":"tdesign-vue-next","old_version":"1.20.6","new_version":"1.20.9","repository_url":"https://github.com/Tencent/tdesign-vue-next"},{"name":"tsdown","old_version":"0.22.14","new_version":"0.23.1","repository_url":"https://github.com/rolldown/tsdown"},{"name":"turbo","old_version":"2.10.12","new_version":"2.11.7","repository_url":"https://github.com/vercel/turborepo"},{"name":"tyme4ts","old_version":"1.5.2","new_version":"1.5.3","repository_url":"https://github.com/6tail/tyme4ts"},{"name":"unplugin-dts","old_version":"1.0.3","new_version":"1.1.2","repository_url":"https://github.com/qmhc/unplugin-dts"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.4","repository_url":"https://github.com/vitejs/vite"},{"name":"vitepress-plugin-group-icons","old_version":"1.7.6","new_version":"1.7.7","repository_url":"https://github.com/yuyinws/vitepress-plugin-group-icons"},{"name":"vue-i18n","old_version":"11.4.10","new_version":"11.4.14","repository_url":"https://github.com/intlify/vue-i18n"},{"name":"vue-router","old_version":"5.2.0","new_version":"5.4.0","repository_url":"https://github.com/vuejs/router"},{"name":"vue-tippy","old_version":"6.7.1","new_version":"6.8.0","repository_url":"https://github.com/KABBOUCHI/vue-tippy"},{"name":"vue-tsc","old_version":"3.3.11","new_version":"3.3.13","repository_url":"https://github.com/vuejs/language-tools"},{"name":"vue3-signature","old_version":"0.4.4","new_version":"0.4.5","repository_url":"https://github.com/WangShayne/vue3-signature"},{"name":"vue","old_version":"3.5.42","new_version":"3.5.43","repository_url":"https://github.com/vuejs/core"},{"name":"vxe-pc-ui","old_version":"4.17.19","new_version":"4.19.5","repository_url":"https://github.com/x-extends/vxe-pc-ui"},{"name":"vxe-table","old_version":"4.21.2","new_version":"4.22.4","repository_url":"https://github.com/x-extends/vxe-table"},{"name":"zod","old_version":"4.4.3","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"},{"name":"@ast-grep/napi","old_version":"0.44.1","new_version":"0.50.0","repository_url":"https://github.com/ast-grep/ast-grep"}],"path":null,"ecosystem":"npm"},"body":"Bumps the non-breaking-changes group with 87 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@clack/prompts](https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts) | `1.7.0` | `1.8.1` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.2` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.2` | `21.2.3` |\n| [@ctrl/tinycolor](https://github.com/scttcper/tinycolor) | `4.2.0` | `4.2.1` |\n| [@eslint-community/eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments) | `4.7.2` | `4.8.1` |\n| [@form-create/ant-design-vue](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@form-create/antdv-next](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@form-create/element-ui](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@form-create/naive-ui](https://github.com/xaboy/form-create) | `3.3.3` | `3.3.5` |\n| [@iconify/json](https://github.com/iconify/icon-sets) | `2.2.521` | `2.2.541` |\n| [@iconify/vue](https://github.com/iconify/iconify/tree/HEAD/components/vue) | `5.0.1` | `5.0.3` |\n| [@intlify/core-base](https://github.com/intlify/vue-i18n/tree/HEAD/packages/core) | `11.4.10` | `11.4.14` |\n| [@jspm/generator](https://github.com/jspm/jspm) | `2.16.3` | `2.17.0` |\n| [@lucide/vue](https://github.com/lucide-icons/lucide/tree/HEAD/packages/vue) | `1.34.0` | `1.55.0` |\n| [@stylistic/stylelint-plugin](https://github.com/stylelint-stylistic/stylelint-stylistic) | `5.3.0` | `5.3.1` |\n| [@tanstack/store](https://github.com/TanStack/store/tree/HEAD/packages/store) | `0.11.1` | `0.11.2` |\n| [@tanstack/vue-store](https://github.com/TanStack/store/tree/HEAD/packages/vue-store) | `0.11.1` | `0.11.2` |\n| [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-document](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-document) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-highlight](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-highlight) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-placeholder](https://github.com/ueberdosis/tiptap/tree/HEAD/packages-deprecated/extension-placeholder) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-text-align](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-align) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-text-style](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-text-style) | `3.30.5` | `3.31.4` |\n| [@tiptap/extension-underline](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-underline) | `3.30.5` | `3.31.4` |\n| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.30.5` | `3.31.4` |\n| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.30.5` | `3.31.4` |\n| [@tiptap/vue-3](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/vue-3) | `3.30.5` | `3.31.4` |\n| [@tsdown/css](https://github.com/rolldown/tsdown/tree/HEAD/packages/css) | `0.22.14` | `0.23.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.68.0` | `8.71.1` |\n| [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue) | `6.0.8` | `6.0.10` |\n| [@vue/shared](https://github.com/vuejs/core/tree/HEAD/packages/shared) | `3.5.42` | `3.5.43` |\n| [@vue/test-utils](https://github.com/vuejs/test-utils) | `2.4.11` | `2.5.1` |\n| [antdv-next](https://github.com/antdv-next/antdv-next/tree/HEAD/packages/antdv-next) | `1.5.2` | `1.6.0` |\n| [bpmn-js-properties-panel](https://github.com/bpmn-io/bpmn-js-properties-panel) | `5.54.0` | `5.65.2` |\n| [bpmn-js](https://github.com/bpmn-io/bpmn-js) | `18.25.1` | `18.31.0` |\n| [cac](https://github.com/cacjs/cac) | `7.0.0` | `7.0.1` |\n| [cspell](https://github.com/streetsidesoftware/cspell/tree/HEAD/packages/cspell) | `10.1.1` | `10.3.6` |\n| [diagram-js](https://github.com/bpmn-io/diagram-js) | `15.24.1` | `15.28.1` |\n| [element-plus](https://github.com/element-plus/element-plus) | `2.14.5` | `2.14.7` |\n| [es-toolkit](https://github.com/toss/es-toolkit) | `1.51.0` | `1.52.0` |\n| [eslint-plugin-better-tailwindcss](https://github.com/schoero/eslint-plugin-better-tailwindcss) | `4.7.0` | `4.9.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [eslint-plugin-perfectionist](https://github.com/azat-io/eslint-plugin-perfectionist) | `5.10.1` | `5.12.1` |\n| [eslint-plugin-pnpm](https://github.com/antfu/pnpm-workspace-utils/tree/HEAD/packages/eslint-plugin-pnpm) | `1.8.0` | `1.9.1` |\n| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.10.0` | `10.11.1` |\n| [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) | `3.8.1` | `3.9.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.12.0` |\n| [execa](https://github.com/sindresorhus/execa) | `10.0.1` | `10.1.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.11.0` | `17.13.0` |\n| [happy-dom](https://github.com/capricorn86/happy-dom) | `20.11.8` | `20.14.6` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.32.3` | `6.41.0` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.10` | `2.2.1` |\n| [livekit-client](https://github.com/livekit/client-sdk-js) | `2.22.1` | `2.22.4` |\n| [naive-ui](https://github.com/tusen-ai/naive-ui) | `2.45.2` | `2.45.3` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.60.0` | `0.72.0` |\n| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.80.0` | `1.87.0` |\n| [pkg-types](https://github.com/unjs/pkg-types) | `2.3.1` | `2.3.3` |\n| [playwright](https://github.com/microsoft/playwright) | `1.62.1` | `1.64.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.26` | `8.5.29` |\n| [publint](https://github.com/publint/publint/tree/HEAD/packages/publint) | `0.3.24` | `0.3.25` |\n| [qs](https://github.com/ljharb/qs) | `6.15.3` | `6.16.0` |\n| [reka-ui](https://github.com/unovue/reka-ui) | `2.10.4` | `2.11.0` |\n| [sass-embedded](https://github.com/sass/embedded-host-node) | `1.103.1` | `1.105.1` |\n| [sass](https://github.com/sass/dart-sass) | `1.103.1` | `1.105.1` |\n| [stylelint-order](https://github.com/hudochenkov/stylelint-order) | `8.1.1` | `8.1.2` |\n| [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) | `7.2.0` | `7.3.0` |\n| [stylelint](https://github.com/stylelint/stylelint) | `17.14.1` | `17.16.0` |\n| [tailwind-merge](https://github.com/dcastil/tailwind-merge/tree/HEAD/packages/tailwind-merge) | `3.6.0` | `3.7.0` |\n| [tdesign-vue-next](https://github.com/Tencent/tdesign-vue-next/tree/HEAD/packages/tdesign-vue-next) | `1.20.6` | `1.20.9` |\n| [tsdown](https://github.com/rolldown/tsdown) | `0.22.14` | `0.23.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.12` | `2.11.7` |\n| [tyme4ts](https://github.com/6tail/tyme4ts) | `1.5.2` | `1.5.3` |\n| [unplugin-dts](https://github.com/qmhc/unplugin-dts/tree/HEAD/packages/unplugin-dts) | `1.0.3` | `1.1.2` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.4` |\n| [vitepress-plugin-group-icons](https://github.com/yuyinws/vitepress-plugin-group-icons) | `1.7.6` | `1.7.7` |\n| [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) | `11.4.10` | `11.4.14` |\n| [vue-router](https://github.com/vuejs/router) | `5.2.0` | `5.4.0` |\n| [vue-tippy](https://github.com/KABBOUCHI/vue-tippy) | `6.7.1` | `6.8.0` |\n| [vue-tsc](https://github.com/vuejs/language-tools/tree/HEAD/packages/tsc) | `3.3.11` | `3.3.13` |\n| [vue3-signature](https://github.com/WangShayne/vue3-signature) | `0.4.4` | `0.4.5` |\n| [vue](https://github.com/vuejs/core) | `3.5.42` | `3.5.43` |\n| [vxe-pc-ui](https://github.com/x-extends/vxe-pc-ui) | `4.17.19` | `4.19.5` |\n| [vxe-table](https://github.com/x-extends/vxe-table) | `4.21.2` | `4.22.4` |\n| [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.5` |\n| [@ast-grep/napi](https://github.com/ast-grep/ast-grep) | `0.44.1` | `0.50.0` |\n\n\nUpdates `@clack/prompts` from 1.7.0 to 1.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bombshell-dev/clack/releases\"\u003e@​clack/prompts's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​clack/prompts\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.8.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Return type for prompts now correctly specifies \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e instead of \u003ccode\u003esymbol\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​clack/prompts\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.8.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/592\"\u003e#592\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e constant from \u003ccode\u003e@clack/core\u003c/code\u003e and \u003ccode\u003e@clack/prompts\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/594\"\u003e#594\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dreyfus92\"\u003e\u003ccode\u003e@​dreyfus92\u003c/code\u003e\u003c/a\u003e! - Add tab-completion to the \u003ccode\u003epath\u003c/code\u003e prompt: pressing Tab fills the input with the focused suggestion, so you can quickly descend into deep directories (type \u003ccode\u003e/\u003c/code\u003e and Tab again). Powered by a new opt-in \u003ccode\u003ecompleteOnTab\u003c/code\u003e option on \u003ccode\u003eautocomplete\u003c/code\u003e, which also shows a \u003ccode\u003eTab: complete\u003c/code\u003e hint in the instructions footer. Default \u003ccode\u003eautocomplete\u003c/code\u003e behavior is unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/583\"\u003e#583\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Add async validation support to prompts, and validation state rendering to text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/588\"\u003e#588\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/65061353e65e468035d8d8c7de9359926774626d\"\u003e\u003ccode\u003e6506135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e! - Style the guide bar rendered by \u003ccode\u003ebox({ withGuide: true })\u003c/code\u003e in grey so it matches the gutter drawn by \u003ccode\u003elog\u003c/code\u003e, \u003ccode\u003enote\u003c/code\u003e and the spinner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/599\"\u003e#599\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/0547d6f4c16c4580b06c592e698b9ceb621f2547\"\u003e\u003ccode\u003e0547d6f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Fixes a withGuide rendering issue leaving extra spaces in text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/227583efb6d3fb353477a2df7279a33f77e7837b\"\u003e\u003ccode\u003e227583e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/b20fa2b75446389b4caf6bb16ad660a966175f8a\"\u003e\u003ccode\u003eb20fa2b\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bombshell-dev/clack/blob/main/packages/prompts/CHANGELOG.md\"\u003e@​clack/prompts's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.8.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Return type for prompts now correctly specifies \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e instead of \u003ccode\u003esymbol\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.8.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/592\"\u003e#592\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/gameroman\"\u003e\u003ccode\u003e@​gameroman\u003c/code\u003e\u003c/a\u003e! - Export \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e constant from \u003ccode\u003e@clack/core\u003c/code\u003e and \u003ccode\u003e@clack/prompts\u003c/code\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/594\"\u003e#594\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/dreyfus92\"\u003e\u003ccode\u003e@​dreyfus92\u003c/code\u003e\u003c/a\u003e! - Add tab-completion to the \u003ccode\u003epath\u003c/code\u003e prompt: pressing Tab fills the input with the focused suggestion, so you can quickly descend into deep directories (type \u003ccode\u003e/\u003c/code\u003e and Tab again). Powered by a new opt-in \u003ccode\u003ecompleteOnTab\u003c/code\u003e option on \u003ccode\u003eautocomplete\u003c/code\u003e, which also shows a \u003ccode\u003eTab: complete\u003c/code\u003e hint in the instructions footer. Default \u003ccode\u003eautocomplete\u003c/code\u003e behavior is unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/583\"\u003e#583\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Add async validation support to prompts, and validation state rendering to text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/588\"\u003e#588\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/65061353e65e468035d8d8c7de9359926774626d\"\u003e\u003ccode\u003e6506135\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/danielroe\"\u003e\u003ccode\u003e@​danielroe\u003c/code\u003e\u003c/a\u003e! - Style the guide bar rendered by \u003ccode\u003ebox({ withGuide: true })\u003c/code\u003e in grey so it matches the gutter drawn by \u003ccode\u003elog\u003c/code\u003e, \u003ccode\u003enote\u003c/code\u003e and the spinner\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/bombshell-dev/clack/pull/599\"\u003e#599\u003c/a\u003e \u003ca href=\"https://github.com/bombshell-dev/clack/commit/0547d6f4c16c4580b06c592e698b9ceb621f2547\"\u003e\u003ccode\u003e0547d6f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/43081j\"\u003e\u003ccode\u003e@​43081j\u003c/code\u003e\u003c/a\u003e! - Fixes a withGuide rendering issue leaving extra spaces in text prompts.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/bombshell-dev/clack/commit/227583efb6d3fb353477a2df7279a33f77e7837b\"\u003e\u003ccode\u003e227583e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/bombshell-dev/clack/commit/b20fa2b75446389b4caf6bb16ad660a966175f8a\"\u003e\u003ccode\u003eb20fa2b\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​clack/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.5.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/da44e23128c2f6a64f908224683e22d1190a576b\"\u003e\u003ccode\u003eda44e23\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/605\"\u003e#605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8bd9129a4a1ca2bb6dcbc7f952e762db21e5d395\"\u003e\u003ccode\u003e8bd9129\u003c/code\u003e\u003c/a\u003e fix: correctly specify return type of \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/601\"\u003e#601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/de1ef162ee8e508e86e76b4d91b334d3d5869733\"\u003e\u003ccode\u003ede1ef16\u003c/code\u003e\u003c/a\u003e [ci] release (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/589\"\u003e#589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/0547d6f4c16c4580b06c592e698b9ceb621f2547\"\u003e\u003ccode\u003e0547d6f\u003c/code\u003e\u003c/a\u003e fix: output submit gap only when guide enabled (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/599\"\u003e#599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/ae636ddcb4fbc992716f294f64371e4ff4997fb8\"\u003e\u003ccode\u003eae636dd\u003c/code\u003e\u003c/a\u003e feat: add async validation (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/583\"\u003e#583\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/37fca4eb7277571b2b6f8c027dbc07e77632234b\"\u003e\u003ccode\u003e37fca4e\u003c/code\u003e\u003c/a\u003e feat(prompts): add tab-completion to path prompt (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/594\"\u003e#594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/caa32e853cb65afad778f56f6bad8699d4b195bc\"\u003e\u003ccode\u003ecaa32e8\u003c/code\u003e\u003c/a\u003e feat: export \u003ccode\u003eCANCEL_SYMBOL\u003c/code\u003e (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/8d8124826fa119944c833545b3e8919f85782350\"\u003e\u003ccode\u003e8d81248\u003c/code\u003e\u003c/a\u003e chore: stop publishing CHANGELOG.md to npm (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/591\"\u003e#591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/e2380704ff22d7f599a45f62d710f2f8c0c093e5\"\u003e\u003ccode\u003ee238070\u003c/code\u003e\u003c/a\u003e test(box): remove redundant test (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/590\"\u003e#590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/bombshell-dev/clack/commit/65061353e65e468035d8d8c7de9359926774626d\"\u003e\u003ccode\u003e6506135\u003c/code\u003e\u003c/a\u003e fix(prompts): style box guide bar to match other gutters (\u003ca href=\"https://github.com/bombshell-dev/clack/tree/HEAD/packages/prompts/issues/588\"\u003e#588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bombshell-dev/clack/commits/@clack/prompts@1.8.1/packages/prompts\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erules:\u003c/strong\u003e report the case that matched in case rule failure messages (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4962\"\u003e#4962\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e9f5f7bc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e\u003ccode\u003e9f5f7bc\u003c/code\u003e\u003c/a\u003e fix(rules): report the case that matched in case rule failure messages (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4962\"\u003e#4962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ctrl/tinycolor` from 4.2.0 to 4.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/scttcper/tinycolor/releases\"\u003e@​ctrl/tinycolor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003cp\u003ePatch release focused on performance and bug fixes, with no new APIs or features.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSpeed up hex and named-color parsing, hex formatting, channel normalization, and contrast calculations. Reuse parsed colors when selecting readable text. (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle empty candidate lists in \u003ccode\u003emostReadable\u003c/code\u003e: return \u003ccode\u003enull\u003c/code\u003e without fallback, or choose black/white when fallback colors are enabled.\u003c/li\u003e\n\u003cli\u003eAdd regression coverage for invalid names, uppercase custom color values, hex shortening, and tied candidates.\u003c/li\u003e\n\u003cli\u003eBenchmark freshly built output through Node's native module loader, including rebuilds in watch mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eLocal compiled-build measurements at 061fdb8 against pre-change master on Node 24.16.0. Times are medians of nine alternating runs after warmup, with 100,000 operations per run.\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eWorkflow\u003c/th\u003e\n\u003cth align=\"right\"\u003eBefore\u003c/th\u003e\n\u003cth align=\"right\"\u003eAfter\u003c/th\u003e\n\u003cth align=\"right\"\u003eThroughput gain\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eHex parsing\u003c/td\u003e\n\u003ctd align=\"right\"\u003e28.91 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e17.74 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.63x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBare hex parsing\u003c/td\u003e\n\u003ctd align=\"right\"\u003e35.31 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e23.43 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.51x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNamed colors\u003c/td\u003e\n\u003ctd align=\"right\"\u003e30.22 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e18.19 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.66x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHex formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e8.69 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e3.84 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e2.26x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHex8 formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e9.93 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e5.09 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.95x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHSL formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e10.64 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e8.74 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.22x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePercentage formatting\u003c/td\u003e\n\u003ctd align=\"right\"\u003e9.52 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e9.19 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.04x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eParse and format\u003c/td\u003e\n\u003ctd align=\"right\"\u003e60.63 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e53.24 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.14x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLighten and saturate\u003c/td\u003e\n\u003ctd align=\"right\"\u003e125.50 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e101.05 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.24x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMixing colors\u003c/td\u003e\n\u003ctd align=\"right\"\u003e122.34 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e90.85 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.35x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAnalogous palette\u003c/td\u003e\n\u003ctd align=\"right\"\u003e309.43 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e252.93 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.22x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eContrast calculation\u003c/td\u003e\n\u003ctd align=\"right\"\u003e65.65 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e37.43 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e1.75x\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSelecting readable text\u003c/td\u003e\n\u003ctd align=\"right\"\u003e294.96 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e75.18 ms\u003c/td\u003e\n\u003ctd align=\"right\"\u003e3.92x\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog:\u003c/strong\u003e \u003ca href=\"https://github.com/scttcper/tinycolor/compare/v4.2.0...v4.2.1\"\u003ehttps://github.com/scttcper/tinycolor/compare/v4.2.0...v4.2.1\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/scttcper/tinycolor/commit/52cf8c5e9bf5e4e4ba308ec7e5bef9e4841860c6\"\u003e\u003ccode\u003e52cf8c5\u003c/code\u003e\u003c/a\u003e ci(release): Stage npm packages for approval\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/1eeae861185fcf062f07201906390953fc69634a\"\u003e\u003ccode\u003e1eeae86\u003c/code\u003e\u003c/a\u003e ci(release): Restore manual npm publishing with provenance (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/263\"\u003e#263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/6801d6beb2f974f6513209a505bcbc99c88c2afe\"\u003e\u003ccode\u003e6801d6b\u003c/code\u003e\u003c/a\u003e perf(color): Speed up parsing, formatting, and contrast checks (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/262\"\u003e#262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/fd62e07292e423ad06285e23935ae54990a2c622\"\u003e\u003ccode\u003efd62e07\u003c/code\u003e\u003c/a\u003e build(tooling): Move to pnpm and update Vite and Vitest (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/261\"\u003e#261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/7d3377a5878ac06863e133d9a4c2b22848e04f1d\"\u003e\u003ccode\u003e7d3377a\u003c/code\u003e\u003c/a\u003e fix: replaced link to color conversion reference (\u003ca href=\"https://redirect.github.com/scttcper/tinycolor/issues/259\"\u003e#259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/scttcper/tinycolor/commit/8eb79fc40d4a0b8a99413c7131b644b820645650\"\u003e\u003ccode\u003e8eb79fc\u003c/code\u003e\u003c/a\u003e build: remove publish\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/scttcper/tinycolor/compare/v4.2.0...v4.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​ctrl/tinycolor\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@eslint-community/eslint-plugin-eslint-comments` from 4.7.2 to 4.8.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/releases\"\u003e@​eslint-community/eslint-plugin-eslint-comments's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.8.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.8.0...v4.8.1\"\u003e4.8.1\u003c/a\u003e (2026-09-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e:\u003c/strong\u003e key directive-comment cache on \u003ccode\u003eadditionalDirectives\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/329\"\u003e#329\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/de11b0e6db111ca9b605661f38521777e99d52bd\"\u003ede11b0e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.8.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.2...v4.8.0\"\u003e4.8.0\u003c/a\u003e (2026-09-07)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e:\u003c/strong\u003e \u003ccode\u003eadditionalDirectives\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/267\"\u003e#267\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/d9a7e4d877acb9ed53d9caea22fd098f908c559e\"\u003ed9a7e4d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/de11b0e6db111ca9b605661f38521777e99d52bd\"\u003e\u003ccode\u003ede11b0e\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e): key directive-comment cache on `additio...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/d9a7e4d877acb9ed53d9caea22fd098f908c559e\"\u003e\u003ccode\u003ed9a7e4d\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003eno-use\u003c/code\u003e, \u003ccode\u003erequire-description\u003c/code\u003e): \u003ccode\u003eadditionalDirectives\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/267\"\u003e#267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/c930ed11643bdadf4761dcbc0c16b26ff0a67b30\"\u003e\u003ccode\u003ec930ed1\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/setup-node from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/328\"\u003e#328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/a9b6af95f4d87c75aa2f9f16a8562107b09f2e07\"\u003e\u003ccode\u003ea9b6af9\u003c/code\u003e\u003c/a\u003e chore(deps): Bump actions/checkout from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/325\"\u003e#325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/commit/c843af146b20963fa8e9528005caebbfd6a14c99\"\u003e\u003ccode\u003ec843af1\u003c/code\u003e\u003c/a\u003e chore(deps): Bump codecov/codecov-action from 6 to 7 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-eslint-comments/issues/323\"\u003e#323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-eslint-comments/compare/v4.7.2...v4.8.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/ant-design-vue` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/antdv-next` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/element-ui` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@form-create/naive-ui` from 3.3.3 to 3.3.5\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/0b431bc0cbe9dd7a4760ae94e4f64fd71a315946\"\u003e\u003ccode\u003e0b431bc\u003c/code\u003e\u003c/a\u003e v3.3.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/1c56bf8a4ac5235e51a022b9ce702976bde6a406\"\u003e\u003ccode\u003e1c56bf8\u003c/code\u003e\u003c/a\u003e 支持显示序号\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/3081e28e71123bfe59667f44703cd66eea1531e7\"\u003e\u003ccode\u003e3081e28\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/837\"\u003e#837\u003c/a\u003e from yfmei/fix/skip-style-inject-without-dom\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/8a2b6a0cc35fb35c3d07e214d070135963015d4c\"\u003e\u003ccode\u003e8a2b6a0\u003c/code\u003e\u003c/a\u003e fix: 无 DOM 环境跳过全局 style 注入\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/ce1350740a5c0ecde0713ad8b7174b41144d53f5\"\u003e\u003ccode\u003ece13507\u003c/code\u003e\u003c/a\u003e v3.3.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/xaboy/form-create/commit/73209043a4155fa2f915a002d59adb70e4f11cb5\"\u003e\u003ccode\u003e7320904\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/xaboy/form-create/issues/835\"\u003e#835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/xaboy/form-create/compare/v3.3.3...v3.3.5\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@iconify/json` from 2.2.521 to 2.2.541\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/160026b3241486e814353df6399cec97b60af02f\"\u003e\u003ccode\u003e160026b\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/ee9080db012939b75424cd9abaa443fa4b914de7\"\u003e\u003ccode\u003eee9080d\u003c/code\u003e\u003c/a\u003e Update 16 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/a7ddea98b00a171c8056b9c5cc9338d0ffda6854\"\u003e\u003ccode\u003ea7ddea9\u003c/code\u003e\u003c/a\u003e Update 7 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/0000bdc81abed3d95931569102bac25d36c40b94\"\u003e\u003ccode\u003e0000bdc\u003c/code\u003e\u003c/a\u003e Update 11 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/b91a0d48b331b0fead8edb259c973c7faa269552\"\u003e\u003ccode\u003eb91a0d4\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/43130404cc0c8be8d2d371492d806fa940852f5c\"\u003e\u003ccode\u003e4313040\u003c/code\u003e\u003c/a\u003e Update 5 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/7552d0b10672d46f76069fc5f8c753af2e1baba4\"\u003e\u003ccode\u003e7552d0b\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/34ae9f5b718f9edafa4fba1f205e10b4bf802e5d\"\u003e\u003ccode\u003e34ae9f5\u003c/code\u003e\u003c/a\u003e Update 16 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/69e3bdc2d91b5daea6cb7fe7b2854922236671a3\"\u003e\u003ccode\u003e69e3bdc\u003c/code\u003e\u003c/a\u003e Update 8 icon sets\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/iconify/icon-sets/commit/110101808e076a0e3b55a74051331eb9ffc53746\"\u003e\u003ccode\u003e1101018\u003c/code\u003e\u003c/a\u003e Update 6 icon sets\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/iconify/icon-sets/compare/2.2.521...2.2.541\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@iconify/vue` from 5.0.1 to 5.0.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/iconify/iconify/commits/HEAD/components/vue\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@intlify/core-base` from 11.4.10 to 11.4.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/intlify/vue-i18n/releases\"\u003e@​intlify/core-base's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.4.14\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(shared): neutralize srcdoc attribute in sanitizeTranslatedHtml by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2679\"\u003eintlify/vue-i18n#2679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(core-base): escape both list and named values with escapeParameter by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2680\"\u003eintlify/vue-i18n#2680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore locales named after Object.prototype properties by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2681\"\u003eintlify/vue-i18n#2681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👕 Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(core-base): extract the resolved message format check by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2674\"\u003eintlify/vue-i18n#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): remove dead branches in getCoreContext() by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2675\"\u003eintlify/vue-i18n#2675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): share the fallbackContext handling in the composer by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2676\"\u003eintlify/vue-i18n#2676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): simplify flat JSON handling in setLocaleMessage / mergeLocaleMessage by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2677\"\u003eintlify/vue-i18n#2677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(core-base): give the compile cache a proper type by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2678\"\u003eintlify/vue-i18n#2678\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.4.13\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e⚡ Improvement Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): map locale unions without the UnionToTuple round-trip by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2651\"\u003eintlify/vue-i18n#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.4.12\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): cache locale chains by fallback identity by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2635\"\u003eintlify/vue-i18n#2635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(vue-i18n-core): sync the core context when inheritLocale is enabled by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2636\"\u003eintlify/vue-i18n#2636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.10...v11.4.12\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.10...v11.4.12\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/intlify/vue-i18n/blob/v11.4.14/CHANGELOG.md\"\u003e@​intlify/core-base's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ev11.4.14 (2026-10-10T11:06:13.502Z)\u003c/h1\u003e\n\u003cp\u003eThis changelog is generated by \u003ca href=\"https://github.com/intlify/vue-i18n/releases/tag/v11.4.14\"\u003eGitHub Releases\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🔒 Security Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(shared): neutralize srcdoc attribute in sanitizeTranslatedHtml by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2679\"\u003eintlify/vue-i18n#2679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(core-base): escape both list and named values with escapeParameter by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2680\"\u003eintlify/vue-i18n#2680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: ignore locales named after Object.prototype properties by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2681\"\u003eintlify/vue-i18n#2681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e👕 Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(core-base): extract the resolved message format check by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2674\"\u003eintlify/vue-i18n#2674\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): remove dead branches in getCoreContext() by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2675\"\u003eintlify/vue-i18n#2675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): share the fallbackContext handling in the composer by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2676\"\u003eintlify/vue-i18n#2676\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(vue-i18n-core): simplify flat JSON handling in setLocaleMessage / mergeLocaleMessage by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2677\"\u003eintlify/vue-i18n#2677\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(core-base): give the compile cache a proper type by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2678\"\u003eintlify/vue-i18n#2678\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.13...v11.4.14\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.4.13 (2026-10-02T11:01:59.781Z)\u003c/h1\u003e\n\u003cp\u003eThis changelog is generated by \u003ca href=\"https://github.com/intlify/vue-i18n/releases/tag/v11.4.13\"\u003eGitHub Releases\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e⚡ Improvement Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): map locale unions without the UnionToTuple round-trip by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2651\"\u003eintlify/vue-i18n#2651\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\"\u003ehttps://github.com/intlify/vue-i18n/compare/v11.4.12...v11.4.13\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003ev11.4.12 (2026-09-16T14:30:30.396Z)\u003c/h1\u003e\n\u003cp\u003eThis changelog is generated by \u003ca href=\"https://github.com/intlify/vue-i18n/releases/tag/v11.4.12\"\u003eGitHub Releases\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(core-base): cache locale chains by fallback identity by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2635\"\u003eintlify/vue-i18n#2635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(vue-i18n-core): sync the core context when inheritLocale is enabled by \u003ca href=\"https://github.com/kazupon\"\u003e\u003ccode\u003e@​kazupon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/intlify/vue-i18n/pull/2636\"\u003eintlify/vue-i18n#2636\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/intlify/vue-i18n/commit/6bb9ebdeae4955cafb53e82bc461199f6186f573\"\u003e\u003ccode\u003e6bb9ebd\u003c/code\u003e\u003c/a\u003e release: v11.4.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/intlify/vue-i18n/commit/f6b3e75a16f43f4d9a7a567b1b36cd638e880831\"\u003e\u003ccode\u003ef6b3e75\u003c/code\u003e\u003c/a\u003e release: v11.4.13\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/intlify/vue-i18n/commit/87f3745072ca15cbd2d1eb8d030aed10639b0e3e\"\u003e\u003ccode\u003e87f3745\u003c/code\u003e\u003c/a\u003e release: v11.4.12\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/intlify/vue-i18n/commits/v11.4.14/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@jspm/generator` from 2.16.3 to 2.17.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jspm/jspm/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@lucide/vue` from 1.34.0 to 1.55.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lucide-icons/lucide/releases\"\u003e@​lucide/vue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.55.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003email-dot\u003c/code\u003e icon by \u003ca href=\"https://github.com/elenakovelskikh\"\u003e\u003ccode\u003e@​elenakovelskikh\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3230\"\u003elucide-icons/lucide#3230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(lint): split lint jobs and annotate Prettier and JSON schema errors in PRs by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4982\"\u003elucide-icons/lucide#4982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump sharp from 0.35.4 to 0.35.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4987\"\u003elucide-icons/lucide#4987\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump next from 16.3.6 to 16.3.8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4988\"\u003elucide-icons/lucide#4988\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(lucide): add tests for empty icons error and DocumentFragment root in createIcons by \u003ca href=\"https://github.com/grzdev\"\u003e\u003ccode\u003e@​grzdev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4967\"\u003elucide-icons/lucide#4967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ephone-log\u003c/code\u003e icon by \u003ca href=\"https://github.com/Levi-Bensley\"\u003e\u003ccode\u003e@​Levi-Bensley\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3598\"\u003elucide-icons/lucide#3598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(copilot-instruction): Adjust instruction text to allow more then 4 use-cases by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4989\"\u003elucide-icons/lucide#4989\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ewifi-lock\u003c/code\u003e icon by \u003ca href=\"https://github.com/benhaube\"\u003e\u003ccode\u003e@​benhaube\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4913\"\u003elucide-icons/lucide#4913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): Add \u003ccode\u003ehandle-bottom-right\u003c/code\u003e icon by \u003ca href=\"https://github.com/ocavue\"\u003e\u003ccode\u003e@​ocavue\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/1793\"\u003elucide-icons/lucide#1793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest(lucide-react): add tests for DynamicIcon fallback and ref forwarding by \u003ca href=\"https://github.com/grzdev\"\u003e\u003ccode\u003e@​grzdev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4966\"\u003elucide-icons/lucide#4966\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003escrew\u003c/code\u003e icon by \u003ca href=\"https://github.com/edik17\"\u003e\u003ccode\u003e@​edik17\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4932\"\u003elucide-icons/lucide#4932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003euser-round-star\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3469\"\u003elucide-icons/lucide#3469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eshield-house\u003c/code\u003e icon by \u003ca href=\"https://github.com/benhaube\"\u003e\u003ccode\u003e@​benhaube\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4602\"\u003elucide-icons/lucide#4602\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/grzdev\"\u003e\u003ccode\u003e@​grzdev\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4967\"\u003elucide-icons/lucide#4967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Levi-Bensley\"\u003e\u003ccode\u003e@​Levi-Bensley\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3598\"\u003elucide-icons/lucide#3598\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/edik17\"\u003e\u003ccode\u003e@​edik17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4932\"\u003elucide-icons/lucide#4932\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.54.0...1.55.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.54.0...1.55.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.54.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003elens\u003c/code\u003e icon by \u003ca href=\"https://github.com/rrod497\"\u003e\u003ccode\u003e@​rrod497\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4923\"\u003elucide-icons/lucide#4923\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/lucide-icons/lucide/compare/1.53.0...1.54.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.53.0...1.54.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.53.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps-dev): bump preact from 10.29.8 to 11.0.0 in the preact-deps group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4961\"\u003elucide-icons/lucide#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump vue from 3.5.42 to 3.5.43 in the vue-deps group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4958\"\u003elucide-icons/lucide#4958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(site): Fix reset button and rename absolute stroke width to non-scaling stroke by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4956\"\u003elucide-icons/lucide#4956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump simple-git from 3.36.0 to 4.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4968\"\u003elucide-icons/lucide#4968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump the angular-deps group across 1 directory with 11 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4960\"\u003elucide-icons/lucide#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(categories): Add description field to categories by \u003ca href=\"https://github.com/ericfennis\"\u003e\u003ccode\u003e@​ericfennis\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4909\"\u003elucide-icons/lucide#4909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003egroceries\u003c/code\u003e icon by \u003ca href=\"https://github.com/rrod497\"\u003e\u003ccode\u003e@​rrod497\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4907\"\u003elucide-icons/lucide#4907\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003epen-tool\u003c/code\u003e icon by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4972\"\u003elucide-icons/lucide#4972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added new \u003ccode\u003ehiking-stick\u003c/code\u003e icon by \u003ca href=\"https://github.com/kamilasw\"\u003e\u003ccode\u003e@​kamilasw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4711\"\u003elucide-icons/lucide#4711\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added scratch-blocks icon by \u003ca href=\"https://github.com/mc20000-01\"\u003e\u003ccode\u003e@​mc20000-01\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4969\"\u003elucide-icons/lucide#4969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): changed \u003ccode\u003esoup\u003c/code\u003e and \u003ccode\u003esalad\u003c/code\u003e icons by \u003ca href=\"https://github.com/karsa-mistmere\"\u003e\u003ccode\u003e@​karsa-mistmere\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4971\"\u003elucide-icons/lucide#4971\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/mc20000-01\"\u003e\u003ccode\u003e@​mc20000-01\u003c/code\u003e\u003c/a\u003e made ...\n\n_Description has been truncated_","html_url":"https://github.com/bongxin/yudao-ui-admin-vben/pull/52","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/bongxin%2Fyudao-ui-admin-vben/issues/52","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/52/packages"}},{"old_version":"18.2.2","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-14T06:09:25.000Z","version_change":"18.2.2 → 18.4.1","issue":{"uuid":"5842873711","node_id":"PR_kwDOPvuaN88AAAABIU4NjQ","number":301,"state":"closed","title":"chore(deps)(deps): bump the all-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-10-21T02:06:07.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-14T06:09:25.000Z","updated_at":"2026-10-21T02:06:17.000Z","time_to_close":590202,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps): bump","group_name":"all-dependencies","update_count":33,"packages":[{"name":"@npmcli/package-json","old_version":"7.0.4","new_version":"8.0.0","repository_url":"https://github.com/npm/package-json"},{"name":"ajv","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/ajv-validator/ajv"},{"name":"express","old_version":"5.2.1","new_version":"5.3.0","repository_url":"https://github.com/expressjs/express"},{"name":"helmet","old_version":"8.2.0","new_version":"8.3.0","repository_url":"https://github.com/helmetjs/helmet"},{"name":"js-yaml","old_version":"4.3.2","new_version":"5.4.3","repository_url":"https://github.com/nodeca/js-yaml"},{"name":"ora","old_version":"8.2.0","new_version":"9.4.1","repository_url":"https://github.com/sindresorhus/ora"},{"name":"standardwebhooks","old_version":"1.0.0","new_version":"1.1.1","repository_url":"https://github.com/standard-webhooks/standard-webhooks"},{"name":"@commitlint/cli","old_version":"19.8.1","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"19.8.1","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@eslint/js","old_version":"9.39.5","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"@size-limit/file","old_version":"11.2.0","new_version":"14.2.0","repository_url":"https://github.com/ai/size-limit"},{"name":"@types/node","old_version":"25.2.2","new_version":"26.6.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.65.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.65.0","new_version":"8.71.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vercel/blob","old_version":"2.6.1","new_version":"2.8.1","repository_url":"https://github.com/vercel/storage"},{"name":"@vitest/coverage-v8","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"axe-core","old_version":"4.11.1","new_version":"4.14.0","repository_url":"https://github.com/dequelabs/axe-core"},{"name":"c8","old_version":"10.1.3","new_version":"12.0.0","repository_url":"https://github.com/bcoe/c8"},{"name":"eslint","old_version":"9.39.5","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-security","old_version":"4.0.1","new_version":"4.2.0","repository_url":"https://github.com/eslint-community/eslint-plugin-security"},{"name":"globals","old_version":"15.15.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"knip","old_version":"6.0.1","new_version":"6.41.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"license-checker-rseidelsohn","old_version":"4.4.2","new_version":"5.0.1","repository_url":"https://github.com/RSeidelsohn/license-checker-rseidelsohn"},{"name":"lint-staged","old_version":"15.5.2","new_version":"17.6.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"markdownlint-cli2","old_version":"0.21.0","new_version":"0.23.3","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"postcss","old_version":"8.5.23","new_version":"8.5.29","repository_url":"https://github.com/postcss/postcss"},{"name":"prettier","old_version":"3.8.1","new_version":"3.9.10","repository_url":"https://github.com/prettier/prettier"},{"name":"size-limit","old_version":"11.2.0","new_version":"14.2.0","repository_url":"https://github.com/ai/size-limit"},{"name":"stylelint","old_version":"16.26.1","new_version":"17.16.0","repository_url":"https://github.com/stylelint/stylelint"},{"name":"stylelint-config-standard","old_version":"37.0.0","new_version":"40.0.0","repository_url":"https://github.com/stylelint/stylelint-config-standard"},{"name":"typescript","old_version":"5.9.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"},{"name":"vitest","old_version":"4.1.11","new_version":"5.0.3","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the all-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@npmcli/package-json](https://github.com/npm/package-json) | `7.0.4` | `8.0.0` |\n| [ajv](https://github.com/ajv-validator/ajv) | `8.18.0` | `8.20.0` |\n| [express](https://github.com/expressjs/express) | `5.2.1` | `5.3.0` |\n| [helmet](https://github.com/helmetjs/helmet) | `8.2.0` | `8.3.0` |\n| [js-yaml](https://github.com/nodeca/js-yaml) | `4.3.2` | `5.4.3` |\n| [ora](https://github.com/sindresorhus/ora) | `8.2.0` | `9.4.1` |\n| [standardwebhooks](https://github.com/standard-webhooks/standard-webhooks) | `1.0.0` | `1.1.1` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `19.8.1` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `19.8.1` | `21.2.3` |\n| [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) | `9.39.5` | `10.0.1` |\n| [@size-limit/file](https://github.com/ai/size-limit) | `11.2.0` | `14.2.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.2` | `26.6.5` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.65.0` | `8.71.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.65.0` | `8.71.1` |\n| [@vercel/blob](https://github.com/vercel/storage/tree/HEAD/packages/blob) | `2.6.1` | `2.8.1` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.11` | `5.0.3` |\n| [axe-core](https://github.com/dequelabs/axe-core) | `4.11.1` | `4.14.0` |\n| [c8](https://github.com/bcoe/c8) | `10.1.3` | `12.0.0` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.5` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.2.2` | `18.4.1` |\n| [eslint-plugin-security](https://github.com/eslint-community/eslint-plugin-security) | `4.0.1` | `4.2.0` |\n| [globals](https://github.com/sindresorhus/globals) | `15.15.0` | `17.13.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.0.1` | `6.41.0` |\n| [license-checker-rseidelsohn](https://github.com/RSeidelsohn/license-checker-rseidelsohn) | `4.4.2` | `5.0.1` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `15.5.2` | `17.6.0` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.21.0` | `0.23.3` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.23` | `8.5.29` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.9.10` |\n| [size-limit](https://github.com/ai/size-limit) | `11.2.0` | `14.2.0` |\n| [stylelint](https://github.com/stylelint/stylelint) | `16.26.1` | `17.16.0` |\n| [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) | `37.0.0` | `40.0.0` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.11` | `5.0.3` |\n\n\nUpdates `@npmcli/package-json` from 7.0.4 to 8.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/npm/package-json/releases\"\u003e@​npmcli/package-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/package-json/compare/v7.0.5...v8.0.0\"\u003e8.0.0\u003c/a\u003e (2026-05-22)\u003c/h2\u003e\n\u003ch3\u003e⚠️ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@npmcli/package-json\u003c/code\u003e now supports node \u003ccode\u003e^22.22.2 || ^24.15.0 || \u0026gt;=26.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003etemplate-oss-apply\u003c/li\u003e\n\u003cli\u003eThe \u0026quot;server.js\u0026quot; handling was removed, so \u0026quot;scripts.start\u0026quot; will not be set to \u0026quot;node server.js\u0026quot; if a \u0026quot;server.js\u0026quot; file exists.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/b0ebae13296e44689307c7540ac0413ea7b752b9\"\u003e\u003ccode\u003eb0ebae1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bump to new node engine range (\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/package-json/commit/5898ac5a81963f35c3631e23de656ec83500dec1\"\u003e\u003ccode\u003e5898ac5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/2ac3b348aecc67ca73cdeba10428cdd455b9d2a8\"\u003e\u003ccode\u003e2ac3b34\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/177\"\u003e#177\u003c/a\u003e normalize the top-level overrides field (\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/package-json/commit/057fd255bd5298c52bc7589d2d41b4e2e1e24159\"\u003e\u003ccode\u003e057fd25\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\u003c/a\u003e remove magic \u0026quot;server.js\u0026quot; handling (\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\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/126f578fc58c38ad6f1dcec70426a565389aa757\"\u003e\u003ccode\u003e126f578\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003eproc-log@7.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/fe58bf6be8d8b6a29e29f9a33075abbda1116f2f\"\u003e\u003ccode\u003efe58bf6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ejson-parse-even-better-errors@6.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/59d01ace798bf6dd2af4d791e043e58022f49f0d\"\u003e\u003ccode\u003e59d01ac\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ehosted-git-info@10.1.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/1f2ff5fa3cb4e8465e3cae532374ea2f004bab1f\"\u003e\u003ccode\u003e1f2ff5f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/git@8.0.0\u003c/code\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/package-json/commit/3188f3d3597e76bd761bdeca2585a7768c2864d0\"\u003e\u003ccode\u003e3188f3d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e snapshot update for hosted-git-info change (\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/package-json/commit/c433eb8927b2392f5f8908b8449f693ea6b1ccb3\"\u003e\u003ccode\u003ec433eb8\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/eslint-config@7.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/package-json/commit/6212bdfbb67070330b16fe06cd25ff0379f6b9f6\"\u003e\u003ccode\u003e6212bdf\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/c23823f14bff37fa08c7f040b54d554a3980a667\"\u003e\u003ccode\u003ec23823f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bumping \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 5.1.0 (\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/package-json/commit/1affdf1c3ce78b78775ef29faa2f45fa08abb1e9\"\u003e\u003ccode\u003e1affdf1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\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/package-json/commit/ece3cb6c849446bc25d9646a8828dc358d089599\"\u003e\u003ccode\u003eece3cb6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/170\"\u003e#170\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.1 to 4.29.0 (\u003ca href=\"https://redirect.github.com/npm/package-json/issues/170\"\u003e#170\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.0.5\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/package-json/compare/v7.0.4...v7.0.5\"\u003e7.0.5\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/09b981db4a566dd743864bbef17ec7c7a65fcf03\"\u003e\u003ccode\u003e09b981d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e inline license validation code (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\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/package-json/commit/cb3e6770c1412629e03997775a63d7b49defb69d\"\u003e\u003ccode\u003ecb3e677\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e \u003ccode\u003espdx-expression-parse@4.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/61738b2345624e25fab0df6a7f5a1d116ee9babd\"\u003e\u003ccode\u003e61738b2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e remove validate-npm-package-license\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/package-json/commit/bd3b7eafa70c17ae96778386572ff98a5c01baff\"\u003e\u003ccode\u003ebd3b7ea\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/169\"\u003e#169\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/package-json/issues/169\"\u003e#169\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\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/npm/package-json/blob/main/CHANGELOG.md\"\u003e@​npmcli/package-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/npm/package-json/compare/v7.0.5...v8.0.0\"\u003e8.0.0\u003c/a\u003e (2026-05-22)\u003c/h2\u003e\n\u003ch3\u003e⚠️ BREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@npmcli/package-json\u003c/code\u003e now supports node \u003ccode\u003e^22.22.2 || ^24.15.0 || \u0026gt;=26.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003etemplate-oss-apply\u003c/li\u003e\n\u003cli\u003eThe \u0026quot;server.js\u0026quot; handling was removed, so \u0026quot;scripts.start\u0026quot; will not be set to \u0026quot;node server.js\u0026quot; if a \u0026quot;server.js\u0026quot; file exists.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/b0ebae13296e44689307c7540ac0413ea7b752b9\"\u003e\u003ccode\u003eb0ebae1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bump to new node engine range (\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/package-json/commit/5898ac5a81963f35c3631e23de656ec83500dec1\"\u003e\u003ccode\u003e5898ac5\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/2ac3b348aecc67ca73cdeba10428cdd455b9d2a8\"\u003e\u003ccode\u003e2ac3b34\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/177\"\u003e#177\u003c/a\u003e normalize the top-level overrides field (\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/package-json/commit/057fd255bd5298c52bc7589d2d41b4e2e1e24159\"\u003e\u003ccode\u003e057fd25\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\u003c/a\u003e remove magic \u0026quot;server.js\u0026quot; handling (\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\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/126f578fc58c38ad6f1dcec70426a565389aa757\"\u003e\u003ccode\u003e126f578\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003eproc-log@7.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/fe58bf6be8d8b6a29e29f9a33075abbda1116f2f\"\u003e\u003ccode\u003efe58bf6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ejson-parse-even-better-errors@6.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/59d01ace798bf6dd2af4d791e043e58022f49f0d\"\u003e\u003ccode\u003e59d01ac\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003ehosted-git-info@10.1.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/1f2ff5fa3cb4e8465e3cae532374ea2f004bab1f\"\u003e\u003ccode\u003e1f2ff5f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/git@8.0.0\u003c/code\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/package-json/commit/3188f3d3597e76bd761bdeca2585a7768c2864d0\"\u003e\u003ccode\u003e3188f3d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e snapshot update for hosted-git-info change (\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/package-json/commit/c433eb8927b2392f5f8908b8449f693ea6b1ccb3\"\u003e\u003ccode\u003ec433eb8\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e \u003ccode\u003e@npmcli/eslint-config@7.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/package-json/commit/6212bdfbb67070330b16fe06cd25ff0379f6b9f6\"\u003e\u003ccode\u003e6212bdf\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\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/package-json/commit/c23823f14bff37fa08c7f040b54d554a3980a667\"\u003e\u003ccode\u003ec23823f\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/185\"\u003e#185\u003c/a\u003e bumping \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.29.0 to 5.1.0 (\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/package-json/commit/1affdf1c3ce78b78775ef29faa2f45fa08abb1e9\"\u003e\u003ccode\u003e1affdf1\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/174\"\u003e#174\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/package-json/commit/ece3cb6c849446bc25d9646a8828dc358d089599\"\u003e\u003ccode\u003eece3cb6\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/170\"\u003e#170\u003c/a\u003e bump \u003ccode\u003e@​npmcli/template-oss\u003c/code\u003e from 4.28.1 to 4.29.0 (\u003ca href=\"https://redirect.github.com/npm/package-json/issues/170\"\u003e#170\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/package-json/compare/v7.0.4...v7.0.5\"\u003e7.0.5\u003c/a\u003e (2026-02-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/09b981db4a566dd743864bbef17ec7c7a65fcf03\"\u003e\u003ccode\u003e09b981d\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e inline license validation code (\u003ca href=\"https://github.com/wraithgar\"\u003e\u003ccode\u003e@​wraithgar\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/package-json/commit/cb3e6770c1412629e03997775a63d7b49defb69d\"\u003e\u003ccode\u003ecb3e677\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e \u003ccode\u003espdx-expression-parse@4.0.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/61738b2345624e25fab0df6a7f5a1d116ee9babd\"\u003e\u003ccode\u003e61738b2\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/172\"\u003e#172\u003c/a\u003e remove validate-npm-package-license\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/package-json/commit/bd3b7eafa70c17ae96778386572ff98a5c01baff\"\u003e\u003ccode\u003ebd3b7ea\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/npm/package-json/pull/169\"\u003e#169\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/package-json/issues/169\"\u003e#169\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\u003c/blockquote\u003e\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/package-json/commit/ebc5daff41dfcdf43299799d4b5e7bd85e2bb132\"\u003e\u003ccode\u003eebc5daf\u003c/code\u003e\u003c/a\u003e chore: release 8.0.0 (\u003ca href=\"https://redirect.github.com/npm/package-json/issues/176\"\u003e#176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/3188f3d3597e76bd761bdeca2585a7768c2864d0\"\u003e\u003ccode\u003e3188f3d\u003c/code\u003e\u003c/a\u003e chore: snapshot update for hosted-git-info change\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/c433eb8927b2392f5f8908b8449f693ea6b1ccb3\"\u003e\u003ccode\u003ec433eb8\u003c/code\u003e\u003c/a\u003e chore: \u003ccode\u003e@​npmcli/eslint-config\u003c/code\u003e\u003ca href=\"https://github.com/7\"\u003e\u003ccode\u003e@​7\u003c/code\u003e\u003c/a\u003e.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/126f578fc58c38ad6f1dcec70426a565389aa757\"\u003e\u003ccode\u003e126f578\u003c/code\u003e\u003c/a\u003e deps: proc-log@7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/fe58bf6be8d8b6a29e29f9a33075abbda1116f2f\"\u003e\u003ccode\u003efe58bf6\u003c/code\u003e\u003c/a\u003e deps: json-parse-even-better-errors@6.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/59d01ace798bf6dd2af4d791e043e58022f49f0d\"\u003e\u003ccode\u003e59d01ac\u003c/code\u003e\u003c/a\u003e deps: hosted-git-info@10.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/1f2ff5fa3cb4e8465e3cae532374ea2f004bab1f\"\u003e\u003ccode\u003e1f2ff5f\u003c/code\u003e\u003c/a\u003e deps: \u003ccode\u003e@​npmcli/git\u003c/code\u003e\u003ca href=\"https://github.com/8\"\u003e\u003ccode\u003e@​8\u003c/code\u003e\u003c/a\u003e.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/6212bdfbb67070330b16fe06cd25ff0379f6b9f6\"\u003e\u003ccode\u003e6212bdf\u003c/code\u003e\u003c/a\u003e chore: template-oss-apply\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/b0ebae13296e44689307c7540ac0413ea7b752b9\"\u003e\u003ccode\u003eb0ebae1\u003c/code\u003e\u003c/a\u003e feat!: bump to new node engine range\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/npm/package-json/commit/5898ac5a81963f35c3631e23de656ec83500dec1\"\u003e\u003ccode\u003e5898ac5\u003c/code\u003e\u003c/a\u003e feat!: template-oss-apply\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/npm/package-json/compare/v7.0.4...v8.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ajv` from 8.18.0 to 8.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ajv-validator/ajv/releases\"\u003eajv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: add support for node 22/24, drop node 16/21 by \u003ca href=\"https://github.com/jasoniangreen\"\u003e\u003ccode\u003e@​jasoniangreen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2580\"\u003eajv-validator/ajv#2580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add ES2022.RegExp for RegExpIndicesArray by \u003ca href=\"https://github.com/SignpostMarv\"\u003e\u003ccode\u003e@​SignpostMarv\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2604\"\u003eajv-validator/ajv#2604\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.19.0...v8.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev8.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix prototype pollution via format keyword using $data ref by \u003ca href=\"https://github.com/epoberezkin\"\u003e\u003ccode\u003e@​epoberezkin\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/pull/2607\"\u003eajv-validator/ajv#2607\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\"\u003ehttps://github.com/ajv-validator/ajv/compare/v8.18.0...v8.19.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/0fba0b8e649909613cfce0999b149cd08f4a4987\"\u003e\u003ccode\u003e0fba0b8\u003c/code\u003e\u003c/a\u003e 8.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/9caf8d64409b05e2c670b3ff09cf7ca07937342e\"\u003e\u003ccode\u003e9caf8d6\u003c/code\u003e\u003c/a\u003e fix: add ES2022.RegExp for RegExpIndicesArray; fixes \u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2603\"\u003eajv-validator/ajv#2603\u003c/a\u003e (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/206535071f776f57737394c8896d4b2dc2bfb9a3\"\u003e\u003ccode\u003e2065350\u003c/code\u003e\u003c/a\u003e fix: add support for node 22/24, drop node 16/21 (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2580\"\u003e#2580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/154b58d690c6596e09ca676e12720ab8234ee3d2\"\u003e\u003ccode\u003e154b58d\u003c/code\u003e\u003c/a\u003e 8.19.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ajv-validator/ajv/commit/e8d2bdc501b3ba6f03922db5e595770d4763d9da\"\u003e\u003ccode\u003ee8d2bdc\u003c/code\u003e\u003c/a\u003e test/fix prototype pollution via $data ref with format keyword (\u003ca href=\"https://redirect.github.com/ajv-validator/ajv/issues/2607\"\u003e#2607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ajv-validator/ajv/compare/v8.18.0...v8.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 5.2.1 to 5.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.3.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003ch3\u003e🐞 Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed HTTP header conflict between Content-Length and Transfer-Encoding in res.send - by \u003ca href=\"https://github.com/YuryShkoda\"\u003e\u003ccode\u003e@​YuryShkoda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/4893\"\u003e#4893\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFixed the behavior of \u003ccode\u003eres.send()\u003c/code\u003e to prevent conflicts between \u003ccode\u003eContent-Length\u003c/code\u003e and \u003ccode\u003eTransfer-Encoding\u003c/code\u003e HTTP headers in responses. The \u003ccode\u003eContent-Length\u003c/code\u003e header in \u003ccode\u003eres.send()\u003c/code\u003e is now only added when a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header is not present, complying with the HTTP specification that states both headers should not coexist in the same response. ETag generation is unaffected by the presence of a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header - by \u003ca href=\"https://github.com/cuishuang\"\u003e\u003ccode\u003e@​cuishuang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7459\"\u003e#7459\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eqs\u003c/code\u003e to \u003ccode\u003e^6.16.0\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2391\"\u003eCVE-2026-2391\u003c/a\u003e (\u003ca href=\"https://github.com/ljharb/qs/security/advisories/GHSA-w7fw-mjwx-w883\"\u003eGHSA-w7fw-mjwx-w883\u003c/a\u003e), \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82417\"\u003eCVE-2026-82417\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-4mjr-xmp4-gh2g\"\u003eGHSA-4mjr-xmp4-gh2g\u003c/a\u003e) and \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82562\"\u003eCVE-2026-82562\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-x5fp-wj9c-mxmx\"\u003eGHSA-x5fp-wj9c-mxmx\u003c/a\u003e): \u003ccode\u003earrayLimit\u003c/code\u003e bypasses in comma parsing and a denial of service via an attacker-controlled \u003ccode\u003eisBuffer\u003c/code\u003e - by \u003ca href=\"https://github.com/davetashner\"\u003e\u003ccode\u003e@​davetashner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7057\"\u003e#7057\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7478\"\u003e#7478\u003c/a\u003e, and \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7305\"\u003e#7305\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eproxy-addr\u003c/code\u003e to \u003ccode\u003e^2.0.8\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-90711\"\u003eCVE-2026-90711\u003c/a\u003e - by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7474\"\u003e#7474\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚀 Improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow conditional revalidation for QUERY requests. \u003ccode\u003ereq.fresh\u003c/code\u003e previously only validated freshness for GET and HEAD requests, so QUERY responses never returned 304 despite a matching validator. Since QUERY is a safe, idempotent, and cacheable method that supports conditional requests, it is now included in the freshness check - by \u003ca href=\"https://github.com/Cherry\"\u003e\u003ccode\u003e@​Cherry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7366\"\u003e#7366\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// QUERY /reports with If-None-Match: \u0026quot;12345\u0026quot;\r\napp.query('/reports', (req, res) =\u0026gt; {\r\n  res.set('ETag', '\u0026quot;12345\u0026quot;');\r\n  res.send(results); // now responds 304 Not Modified\r\n});\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove HTML structure in \u003ccode\u003eres.redirect()\u003c/code\u003e responses when HTML format is accepted by adding \u003ccode\u003e\u0026lt;!DOCTYPE html\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e, and \u003ccode\u003e\u0026lt;body\u0026gt;\u003c/code\u003e tags for better browser compatibility - by \u003ca href=\"https://github.com/Bernice55231\"\u003e\u003ccode\u003e@​Bernice55231\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/5167\"\u003e#5167\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eapp.render\u003c/code\u003e with options set to null, the locals object is handled correctly, preventing unexpected errors and making the method behave the same as when options is omitted or an empty object is passed - by \u003ca href=\"https://github.com/AkaHarshit\"\u003eAkaHarshit\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6903\"\u003e#6903\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eapp.render('index', null, callback); // now works as expected\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-type\u003c/code\u003e to \u003ccode\u003e^2.0.0\u003c/code\u003e, bringing a faster parser (~1.5x quicker \u003ccode\u003eContent-Type\u003c/code\u003e parsing/formatting in \u003ccode\u003eres.send()\u003c/code\u003e) along with a behavior change: \u003ccode\u003eres.send()\u003c/code\u003e now keeps any existing parameters when adding the charset and no longer throws on a \u003ccode\u003eContent-Type\u003c/code\u003e that fails to parse. \u003ccode\u003etype-is\u003c/code\u003e is upgraded to \u003ccode\u003e^2.1.0\u003c/code\u003e as part of the same change - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7234\"\u003e#7234\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.set('Content-Type', 'text/plain; foo=bar').send('hey');\r\n// -\u0026gt; Content-Type: text/plain; foo=bar; charset=utf-8\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe default error handler now logs the full error object instead of only its stack trace, so nested details such as \u003ccode\u003eError.cause\u003c/code\u003e and library-specific properties (e.g. Sequelize's \u003ccode\u003eparent\u003c/code\u003e/\u003ccode\u003eoriginal\u003c/code\u003e) are no longer swallowed - by \u003ca href=\"https://github.com/Nitin-Mohapatra\"\u003e\u003ccode\u003e@​Nitin-Mohapatra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6464\"\u003e#6464\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-disposition\u003c/code\u003e to \u003ccode\u003e^2.0.1\u003c/code\u003e, which changes the \u003ccode\u003eContent-Disposition\u003c/code\u003e header emitted by \u003ccode\u003eres.download()\u003c/code\u003e, \u003ccode\u003eres.attachment()\u003c/code\u003e, and \u003ccode\u003eres.sendFile()\u003c/code\u003e: file names that are valid HTTP tokens are no longer wrapped in quotes. This is equivalent per RFC 6266, but applications asserting on the exact header bytes should update their expectations - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7233\"\u003e#7233\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.attachment('user.html');\r\n// before -\u0026gt; Content-Disposition: attachment; filename=\u0026quot;user.html\u0026quot;\r\n// after  -\u0026gt; Content-Disposition: attachment; filename=user.html\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.3.0\u003c/h1\u003e\n\u003ch2\u003e🐞 Bug fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eFixed HTTP header conflict between Content-Length and Transfer-Encoding in res.send - by \u003ca href=\"https://github.com/YuryShkoda\"\u003e\u003ccode\u003e@​YuryShkoda\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/4893\"\u003e#4893\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFixed the behavior of \u003ccode\u003eres.send()\u003c/code\u003e to prevent conflicts between \u003ccode\u003eContent-Length\u003c/code\u003e and \u003ccode\u003eTransfer-Encoding\u003c/code\u003e HTTP headers in responses. The \u003ccode\u003eContent-Length\u003c/code\u003e header in \u003ccode\u003eres.send()\u003c/code\u003e is now only added when a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header is not present, complying with the HTTP specification that states both headers should not coexist in the same response. ETag generation is unaffected by the presence of a \u003ccode\u003eTransfer-Encoding\u003c/code\u003e header - by \u003ca href=\"https://github.com/cuishuang\"\u003e\u003ccode\u003e@​cuishuang\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7459\"\u003e#7459\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eqs\u003c/code\u003e to \u003ccode\u003e^6.16.0\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-2391\"\u003eCVE-2026-2391\u003c/a\u003e (\u003ca href=\"https://github.com/ljharb/qs/security/advisories/GHSA-w7fw-mjwx-w883\"\u003eGHSA-w7fw-mjwx-w883\u003c/a\u003e), \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82417\"\u003eCVE-2026-82417\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-4mjr-xmp4-gh2g\"\u003eGHSA-4mjr-xmp4-gh2g\u003c/a\u003e) and \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-82562\"\u003eCVE-2026-82562\u003c/a\u003e (\u003ca href=\"https://github.com/advisories/GHSA-x5fp-wj9c-mxmx\"\u003eGHSA-x5fp-wj9c-mxmx\u003c/a\u003e): \u003ccode\u003earrayLimit\u003c/code\u003e bypasses in comma parsing and a denial of service via an attacker-controlled \u003ccode\u003eisBuffer\u003c/code\u003e - by \u003ca href=\"https://github.com/davetashner\"\u003e\u003ccode\u003e@​davetashner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7057\"\u003e#7057\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7478\"\u003e#7478\u003c/a\u003e, and \u003ca href=\"https://github.com/cyphercodes\"\u003e\u003ccode\u003e@​cyphercodes\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7305\"\u003e#7305\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003eproxy-addr\u003c/code\u003e to \u003ccode\u003e^2.0.8\u003c/code\u003e, which fixes \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2026-90711\"\u003eCVE-2026-90711\u003c/a\u003e - by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7474\"\u003e#7474\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🚀 Improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAllow conditional revalidation for QUERY requests. \u003ccode\u003ereq.fresh\u003c/code\u003e previously only validated freshness for GET and HEAD requests, so QUERY responses never returned 304 despite a matching validator. Since QUERY is a safe, idempotent, and cacheable method that supports conditional requests, it is now included in the freshness check - by \u003ca href=\"https://github.com/Cherry\"\u003e\u003ccode\u003e@​Cherry\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7366\"\u003e#7366\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// QUERY /reports with If-None-Match: \u0026quot;12345\u0026quot;\napp.query('/reports', (req, res) =\u0026gt; {\n  res.set('ETag', '\u0026quot;12345\u0026quot;');\n  res.send(results); // now responds 304 Not Modified\n});\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImprove HTML structure in \u003ccode\u003eres.redirect()\u003c/code\u003e responses when HTML format is accepted by adding \u003ccode\u003e\u0026lt;!DOCTYPE html\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e, and \u003ccode\u003e\u0026lt;body\u0026gt;\u003c/code\u003e tags for better browser compatibility - by \u003ca href=\"https://github.com/Bernice55231\"\u003e\u003ccode\u003e@​Bernice55231\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/5167\"\u003e#5167\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eWhen calling \u003ccode\u003eapp.render\u003c/code\u003e with options set to null, the locals object is handled correctly, preventing unexpected errors and making the method behave the same as when options is omitted or an empty object is passed - by \u003ca href=\"https://github.com/AkaHarshit\"\u003eAkaHarshit\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6903\"\u003e#6903\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eapp.render('index', null, callback); // now works as expected\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-type\u003c/code\u003e to \u003ccode\u003e^2.0.0\u003c/code\u003e, bringing a faster parser (~1.5x quicker \u003ccode\u003eContent-Type\u003c/code\u003e parsing/formatting in \u003ccode\u003eres.send()\u003c/code\u003e) along with a behavior change: \u003ccode\u003eres.send()\u003c/code\u003e now keeps any existing parameters when adding the charset and no longer throws on a \u003ccode\u003eContent-Type\u003c/code\u003e that fails to parse. \u003ccode\u003etype-is\u003c/code\u003e is upgraded to \u003ccode\u003e^2.1.0\u003c/code\u003e as part of the same change - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7234\"\u003e#7234\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.set('Content-Type', 'text/plain; foo=bar').send('hey');\n// -\u0026gt; Content-Type: text/plain; foo=bar; charset=utf-8\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe default error handler now logs the full error object instead of only its stack trace, so nested details such as \u003ccode\u003eError.cause\u003c/code\u003e and library-specific properties (e.g. Sequelize's \u003ccode\u003eparent\u003c/code\u003e/\u003ccode\u003eoriginal\u003c/code\u003e) are no longer swallowed - by \u003ca href=\"https://github.com/Nitin-Mohapatra\"\u003e\u003ccode\u003e@​Nitin-Mohapatra\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6464\"\u003e#6464\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpgrade \u003ccode\u003econtent-disposition\u003c/code\u003e to \u003ccode\u003e^2.0.1\u003c/code\u003e, which changes the \u003ccode\u003eContent-Disposition\u003c/code\u003e header emitted by \u003ccode\u003eres.download()\u003c/code\u003e, \u003ccode\u003eres.attachment()\u003c/code\u003e, and \u003ccode\u003eres.sendFile()\u003c/code\u003e: file names that are valid HTTP tokens are no longer wrapped in quotes. This is equivalent per RFC 6266, but applications asserting on the exact header bytes should update their expectations - by \u003ca href=\"https://github.com/blakeembrey\"\u003e\u003ccode\u003e@​blakeembrey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/7233\"\u003e#7233\u003c/a\u003e\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eres.attachment('user.html');\n// before -\u0026gt; Content-Disposition: attachment; filename=\u0026quot;user.html\u0026quot;\n// after  -\u0026gt; Content-Disposition: attachment; filename=user.html\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/cf6722bf89a86905281d9160b6482e08166b5ef0\"\u003e\u003ccode\u003ecf6722b\u003c/code\u003e\u003c/a\u003e 5.3.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7468\"\u003e#7468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8c2fcfcb7d37c9c2e89363b7b86a092768c3a8a3\"\u003e\u003ccode\u003e8c2fcfc\u003c/code\u003e\u003c/a\u003e docs: fix typos and a stale API reference in lib comments (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7512\"\u003e#7512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/9efc29e280018dafc1f0617f3a3d28f4e463b7be\"\u003e\u003ccode\u003e9efc29e\u003c/code\u003e\u003c/a\u003e docs: fix pass-through typos (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7509\"\u003e#7509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2717ae3cbf2bdc3f946d22ea6a4e0b5bd438b87b\"\u003e\u003ccode\u003e2717ae3\u003c/code\u003e\u003c/a\u003e build(deps): bump the github-actions group with 3 updates (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7499\"\u003e#7499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/de777714df3fb1e81ac2d95f509c421478ab1e56\"\u003e\u003ccode\u003ede77771\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump hbs from 4.3.0 to 4.3.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7500\"\u003e#7500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/9169cbe1127ed1f9bc4f80a70b82c412467dd156\"\u003e\u003ccode\u003e9169cbe\u003c/code\u003e\u003c/a\u003e docs: add missing apostrophe in example (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7483\"\u003e#7483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/7ef98448f8b38099ab1ded55e458538ad47a51e7\"\u003e\u003ccode\u003e7ef9844\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump morgan from 1.12.0 to 1.12.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7493\"\u003e#7493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/3b7e39fe74371ddabc77fed736dd22aa71c14f5c\"\u003e\u003ccode\u003e3b7e39f\u003c/code\u003e\u003c/a\u003e deps: bump qs minimum to 6.16.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7478\"\u003e#7478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/98bd4cd96b250d25e1672c36f49cfc743bc801e7\"\u003e\u003ccode\u003e98bd4cd\u003c/code\u003e\u003c/a\u003e deps: proxy-addr@^2.0.8 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7474\"\u003e#7474\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/9a34acf03cb818ff3f8bc40e44176e277a25cbb9\"\u003e\u003ccode\u003e9a34acf\u003c/code\u003e\u003c/a\u003e fix(res.send): preserve ETag generation with Transfer-Encoding (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/7459\"\u003e#7459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.1...v5.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for express since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `helmet` from 8.2.0 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/helmetjs/helmet/blob/main/CHANGELOG.md\"\u003ehelmet's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.3.0 - 2026-07-11\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: improved performance by ~7% when there are no dynamic directives\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: improved error handling for invalid directive names\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: \u003ccode\u003euseDefaults: false\u003c/code\u003e with no directives is no longer valid, both at runtime and the type level\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: dynamically-computed directive values would \u003ccode\u003ethrow\u003c/code\u003e, not call \u003ccode\u003enext\u003c/code\u003e, when invalid\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eContent-Security-Policy\u003c/code\u003e: dynamically-computed directive value entries would \u003ccode\u003ethrow\u003c/code\u003e, not call \u003ccode\u003enext\u003c/code\u003e, when function threw\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/75f1a98ec3cf092cc985985efcc0479265c9fe32\"\u003e\u003ccode\u003e75f1a98\u003c/code\u003e\u003c/a\u003e 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/f03f70da21409f525f90418a049ae7222261e9a2\"\u003e\u003ccode\u003ef03f70d\u003c/code\u003e\u003c/a\u003e Update changelog for 8.3.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/a307fce3b8714e7dfddba6a6979317dc8bc2e373\"\u003e\u003ccode\u003ea307fce\u003c/code\u003e\u003c/a\u003e Fix capitalization in CSP package changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/5347b43be7e340f3cd3407ba2d156a771cf9c371\"\u003e\u003ccode\u003e5347b43\u003c/code\u003e\u003c/a\u003e Format default CSP in README for readability\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/9afc570f67615f48bf8634ea75ad5e0b204f856b\"\u003e\u003ccode\u003e9afc570\u003c/code\u003e\u003c/a\u003e CSP: fix middleware-specific README missing link\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/266c95ca6541f0627e4622d0b6844c9e24108b85\"\u003e\u003ccode\u003e266c95c\u003c/code\u003e\u003c/a\u003e Minor speedups to project setups test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/7a4196c3d9f2efdaeada5e18243bd974262505ee\"\u003e\u003ccode\u003e7a4196c\u003c/code\u003e\u003c/a\u003e CSP: update package-specific changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/02716b4b7dc5099fe3c21bb1a89f954404632180\"\u003e\u003ccode\u003e02716b4\u003c/code\u003e\u003c/a\u003e CSP: improve performance when there are no dynamic directives\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/3f511ed75fa12dd456e5338dc7a9b578b5aafac1\"\u003e\u003ccode\u003e3f511ed\u003c/code\u003e\u003c/a\u003e CSP: move utility functions to separate file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/helmetjs/helmet/commit/80338af26325af6d47b0cfd5a4a43a5be52c3973\"\u003e\u003ccode\u003e80338af\u003c/code\u003e\u003c/a\u003e CSP: disabling defaults with no directives is now an error\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/helmetjs/helmet/compare/v8.2.0...v8.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `js-yaml` from 4.3.2 to 5.4.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md\"\u003ejs-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[5.4.3] - 2026-10-06\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed loading a whitespace-only block scalar followed by a less indented\nline, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/802\"\u003e#802\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.4.2] - 2026-09-13\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eforceQuotes\u003c/code\u003e no longer quotes non-string scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/798\"\u003e#798\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.4.1] - 2026-08-26\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eHard-limit merge sequence size to 100.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCount empty mappings in merge sequences toward \u003ccode\u003emaxTotalMergeKeys\u003c/code\u003e to limit\nCPU usage, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/797\"\u003e#797\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[5.4.0] - 2026-08-25\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded the \u003ccode\u003escalarStyleRules\u003c/code\u003e dumper option to customize string formatting.\nSee \u003ca href=\"https://github.com/nodeca/js-yaml/blob/master/docs/scalar_styling.md\"\u003eScalar styling\u003c/a\u003e for details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[breaking] Flattened the low-level AST node style representation. Scalar\nand collection nodes now use \u003ccode\u003eSCALAR_STYLE\u003c/code\u003e and \u003ccode\u003eCOLLECTION_STYLE\u003c/code\u003e values;\nexplicit tags use the separate \u003ccode\u003etagged\u003c/code\u003e property. Alias nodes now contain\nonly \u003ccode\u003ekind\u003c/code\u003e and \u003ccode\u003eanchor\u003c/code\u003e. This only affects code that directly constructs or\nedits AST nodes.\u003c/li\u003e\n\u003cli\u003e[breaking] The \u003ccode\u003esortKeys\u003c/code\u003e option was rewritten using AST mutation to avoid\nside effects.\u003c/li\u003e\n\u003cli\u003eReworked scalar style selection. This can change formatting without changing\nloaded values; in particular, whitespace-only strings are now double-quoted.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAccept a byte order mark at the start of each document in a stream, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/791\"\u003e#791\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eProduce valid flow mappings with \u003ccode\u003equoteFlowKeys\u003c/code\u003e and \u003ccode\u003eflowSkipColonSpace\u003c/code\u003e,\nincluding alias and property-only keys, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/786\"\u003e#786\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePreserve empty scalar items when converting block sequences to flow style.\u003c/li\u003e\n\u003cli\u003eDo not apply the 1024-character simple-key limit to flow mapping keys.\u003c/li\u003e\n\u003cli\u003eCount Unicode code points, rather than UTF-16 code units, for the\n1024-character simple-key limit.\u003c/li\u003e\n\u003cli\u003eAdd an explicit document-end marker after keep-chomped block scalars when\nneeded to preserve trailing newlines.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/78326247fa2cec0d2c7ed553353d554e039ee7c8\"\u003e\u003ccode\u003e7832624\u003c/code\u003e\u003c/a\u003e 5.4.3 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/0cbb471d67b083778e7b2600af2418142bf5bf04\"\u003e\u003ccode\u003e0cbb471\u003c/code\u003e\u003c/a\u003e Fix whitespace-only block scalar followed by a less indented line, close \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/802\"\u003e#802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/30108cc828b5393d55dfbfc8087ab713f7145946\"\u003e\u003ccode\u003e30108cc\u003c/code\u003e\u003c/a\u003e Parse the first block mapping key once (\u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/800\"\u003e#800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/494400bd45cad078123cfc057e674a9a0a8d9983\"\u003e\u003ccode\u003e494400b\u003c/code\u003e\u003c/a\u003e 5.4.2 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/6d8adb41c1a8c4a45cb8597ffb149b8842b3a26b\"\u003e\u003ccode\u003e6d8adb4\u003c/code\u003e\u003c/a\u003e Fix \u003ccode\u003eforceQuotes\u003c/code\u003e quoting non-string scalars, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/798\"\u003e#798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/e5a3ba0efee53629b979f784cd53736f89ea61b6\"\u003e\u003ccode\u003ee5a3ba0\u003c/code\u003e\u003c/a\u003e 5.4.1 released\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/e54dea33166d429220f7754e8c7ec548e3574ac3\"\u003e\u003ccode\u003ee54dea3\u003c/code\u003e\u003c/a\u003e Hard-limit merge sequence size to 100\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/dfd3a2933c69959fc16fce1a775f36c9a5c89063\"\u003e\u003ccode\u003edfd3a29\u003c/code\u003e\u003c/a\u003e Cleanup 6a8e05f, \u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/797\"\u003e#797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/6a8e05f9a485188ed730ac81e81ae221352ef480\"\u003e\u003ccode\u003e6a8e05f\u003c/code\u003e\u003c/a\u003e fix: count empty merge sources against maxTotalMergeKeys (\u003ca href=\"https://redirect.github.com/nodeca/js-yaml/issues/797\"\u003e#797\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nodeca/js-yaml/commit/6b4ff5e92474186b0c0381021ba4120f883c1995\"\u003e\u003ccode\u003e6b4ff5e\u003c/code\u003e\u003c/a\u003e 5.4.0 released\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nodeca/js-yaml/compare/4.3.2...5.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ora` from 8.2.0 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/ora/releases\"\u003eora's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.4.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix type definitions (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/257\"\u003e#257\u003c/a\u003e)  431ebc4\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003efailText\u003c/code\u003e type to accept \u003ccode\u003eunknown\u003c/code\u003e instead of \u003ccode\u003eError\u003c/code\u003e, matching the actual promise rejection value  bc3a283\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.4.0...v9.4.1\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.4.0...v9.4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003esuccessSymbol\u003c/code\u003e and \u003ccode\u003efailSymbol\u003c/code\u003e options to \u003ccode\u003eoraPromise\u003c/code\u003e  3d2e0a9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.3.0...v9.4.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.3.0...v9.4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.3.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduce flicker in rendering  2ab4f76\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.2.0...v9.3.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.2.0...v9.3.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003estdin-discarder\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/251\"\u003e#251\u003c/a\u003e)  020eaba\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.1.0...v9.2.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.1.0...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport external writes to stream (\u003ccode\u003econsole.log\u003c/code\u003e) while spinning  d2b543a\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003estrip-ansi\u003c/code\u003e dependency with native \u003ccode\u003estripVTControlCharacters\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/249\"\u003e#249\u003c/a\u003e)  68d50e5\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/ora/compare/v9.0.0...v9.1.0\"\u003ehttps://github.com/sindresorhus/ora/compare/v9.0.0...v9.1.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire Node.js 20  7aca06d\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix clearing in some cases  aa51538\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eframe()\u003c/code\u003e not displaying dynamic \u003ccode\u003eprefixText\u003c/code\u003e/\u003ccode\u003esuffixText\u003c/code\u003e from functions  0f19f57\u003c/li\u003e\n\u003cli\u003eFix multiline text exceeding console height leaving garbage when scrolling  45d30ad\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/79cd8c15ac34572cffb3ab53e3d4b6bab6d59ea8\"\u003e\u003ccode\u003e79cd8c1\u003c/code\u003e\u003c/a\u003e 9.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/bc3a28363a9873304ffb56420cb55fe83a7f41e8\"\u003e\u003ccode\u003ebc3a283\u003c/code\u003e\u003c/a\u003e Minor tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/431ebc40dceb1f700f3b60821f139541dbd7c93d\"\u003e\u003ccode\u003e431ebc4\u003c/code\u003e\u003c/a\u003e Fix type definitions (\u003ca href=\"https://redirect.github.com/sindresorhus/ora/issues/257\"\u003e#257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/46a670390249718af7c66452afdc5d78ceb579e9\"\u003e\u003ccode\u003e46a6703\u003c/code\u003e\u003c/a\u003e 9.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/3d2e0a907e1141a121e5ed3348d9ea0981ca8a9c\"\u003e\u003ccode\u003e3d2e0a9\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003esuccessSymbol\u003c/code\u003e and \u003ccode\u003efailSymbol\u003c/code\u003e options to \u003ccode\u003eoraPromise\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/f70f613d72f0afb0f4cb0a7fe56268f8abd1a170\"\u003e\u003ccode\u003ef70f613\u003c/code\u003e\u003c/a\u003e Test tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/7cf29a75e64409205a6606dada9780ccf5acf6a8\"\u003e\u003ccode\u003e7cf29a7\u003c/code\u003e\u003c/a\u003e Validate some options better\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/4496362714e1edd414e5347e8d4b337f103f0e15\"\u003e\u003ccode\u003e4496362\u003c/code\u003e\u003c/a\u003e 9.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/2ab4f7613879515e29039888115831422f49e1af\"\u003e\u003ccode\u003e2ab4f76\u003c/code\u003e\u003c/a\u003e Reduce flicker in rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/ora/commit/8d17b13a8b3330af16cfa24c6e3b8a99f678c5c4\"\u003e\u003ccode\u003e8d17b13\u003c/code\u003e\u003c/a\u003e Add FAQ item\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/ora/compare/v8.2.0...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `standardwebhooks` from 1.0.0 to 1.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/releases\"\u003estandardwebhooks's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.0.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/compare/v1.0.1...v1.0.2\"\u003ehttps://github.com/standard-webhooks/standard-webhooks/compare/v1.0.1...v1.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.0.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for jdk 8 by \u003ca href=\"https://github.com/cameron-mcateer\"\u003e\u003ccode\u003e@​cameron-mcateer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/258\"\u003estandard-webhooks/standard-webhooks#258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd java 8 toolchain for release by \u003ca href=\"https://github.com/cameron-mcateer\"\u003e\u003ccode\u003e@​cameron-mcateer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/259\"\u003estandard-webhooks/standard-webhooks#259\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(js): handle empty payloads in verify() by \u003ca href=\"https://github.com/vadzim\"\u003e\u003ccode\u003e@​vadzim\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/263\"\u003estandard-webhooks/standard-webhooks#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(libraries/python): Support unpadded secrets by \u003ca href=\"https://github.com/brettbeatty\"\u003e\u003ccode\u003e@​brettbeatty\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/265\"\u003estandard-webhooks/standard-webhooks#265\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/cameron-mcateer\"\u003e\u003ccode\u003e@​cameron-mcateer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/258\"\u003estandard-webhooks/standard-webhooks#258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vadzim\"\u003e\u003ccode\u003e@​vadzim\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/263\"\u003estandard-webhooks/standard-webhooks#263\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/brettbeatty\"\u003e\u003ccode\u003e@​brettbeatty\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/standard-webhooks/standard-webhooks/pull/265\"\u003estandard-webhooks/standard-webhooks#265\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/compare/v1.0.0...v1.0.1\"\u003ehttps://github.com/standard-webhooks/standard-webhooks/compare/v1.0.0...v1.0.1\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\u003eSee full diff in \u003ca href=\"https://github.com/standard-webhooks/standard-webhooks/commits\"\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 standardwebhooks since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 19.8.1 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.2.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.1...v21.2.2\"\u003e21.2.2\u003c/a\u003e (2026-08-13)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eparse:\u003c/strong\u003e require colon after note keywords (conventional-commits-parser 7.1.2) (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4927\"\u003e#4927\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/b83c51569d195183c695330eeb0b4f5784e0d418\"\u003eb83c515\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/conventional-changelog/issues/1517\"\u003econventional-changelog/conventional-changelog#1517\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(container): resolve packages from TypeScript configs by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4914\"\u003econventional-changelog/commitlint#4914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(resolve-extends): support Yarn Plug'n'Play by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4933\"\u003econventional-changelog/commitlint#4933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, docs, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: fix typos in comments and JSDoc by \u003ca href=\"https://github.com/maxtaran2010\"\u003e\u003ccode\u003e@​maxtaran2010\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4880\"\u003econventional-changelog/commitlint#4880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.1...v21.2.2\"\u003e21.2.2\u003c/a\u003e (2026-08-13)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.0...v21.2.1\"\u003e21.2.1\u003c/a\u003e (2026-07-08)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/cli\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0\"\u003e21.2.0\u003c/a\u003e (2026-06-30)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eresolve-extends:\u003c/strong\u003e resolve pure-ESM presets (conventional-changelog v7/v9/v10) (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4859\"\u003e#4859\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/fdb566fe59457a786eac80e2a8cbb994638daba0\"\u003efdb566f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.2...v21.1.0\"\u003e21.1.0\u003c/a\u003e (2026-06-23)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e add --default-config flag to lint without a config file (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4805\"\u003e#4805\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/7af27ba1bcfe2347d02df2efd6dca7203b6768c5\"\u003e7af27ba\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/3662\"\u003e#3662\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.0.1...v21.0.2\"\u003e21.0.2\u003c/a\u003e (2026-05-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/d00d190ecc8030a0f65ead16a396c2391a23996b\"\u003e\u003ccode\u003ed00d190\u003c/code\u003e\u003c/a\u003e v21.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/f2e8daec969290f59a1b67450378ae799079c953\"\u003e\u003ccode\u003ef2e8dae\u003c/code\u003e\u003c/a\u003e chore: update dependency typescript to v7 (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4886\"\u003e#4886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/5769d9fe4f40563385007f3c04ca98156ae276b1\"\u003e\u003ccode\u003e5769d9f\u003c/code\u003e\u003c/a\u003e docs: fix typos in comments and JSDoc (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4880\"\u003e#4880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6e200411e63fb473d59cca1b4449a28f72067df0\"\u003e\u003ccode\u003e6e20041\u003c/code\u003e\u003c/a\u003e v21.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/1b4e5bc0e095294ad421b3ac83f6b66665429e60\"\u003e\u003ccode\u003e1b4e5bc\u003c/code\u003e\u003c/a\u003e v21.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/fdb566fe59457a786eac80e2a8cbb994638daba0\"\u003e\u003ccode\u003efdb566f\u003c/code\u003e\u003c/a\u003e feat(resolve-extends): resolve pure-ESM presets (conventional-changelog v7/v9...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/6f1c0af6a7631cee854587dafc6beb0ccf274b1e\"\u003e\u003ccode\u003e6f1c0af\u003c/code\u003e\u003c/a\u003e v21.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/7af27ba1bcfe2347d02df2efd6dca7203b6768c5\"\u003e\u003ccode\u003e7af27ba\u003c/code\u003e\u003c/a\u003e feat(cli): add --default-config flag to lint without a config file (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4805\"\u003e#4805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 19.8.1 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventi...\n\n_Description has been truncated_","html_url":"https://github.com/buildproven/qa-architect/pull/301","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/buildproven%2Fqa-architect/issues/301","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/301/packages"}},{"old_version":"18.3.0","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-10T03:06:26.000Z","version_change":"18.3.0 → 18.4.1","issue":{"uuid":"5787548685","node_id":"PR_kwDOTzIzl88AAAABHphOmw","number":14,"state":"open","title":"chore(deps-dev): bump the dev-toolchain group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-10T03:06:26.000Z","updated_at":"2026-10-17T22:38:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dev-toolchain","update_count":7,"packages":[{"name":"@types/node","old_version":"26.6.2","new_version":"26.6.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.70.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.70.0","new_version":"8.71.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.11.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"prettier","old_version":"3.9.8","new_version":"3.9.10","repository_url":"https://github.com/prettier/prettier"},{"name":"tsc-alias","old_version":"1.9.5","new_version":"1.9.7","repository_url":"https://github.com/justkey007/tsc-alias"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-toolchain group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.2` | `26.6.5` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.70.0` | `8.71.2` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.70.0` | `8.71.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.8` | `3.9.10` |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.9.5` | `1.9.7` |\n\n\nUpdates `@types/node` from 26.6.2 to 26.6.5\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.70.0 to 8.71.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.2\u003c/h2\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match linked packages and packages with missing version in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throttle cleanup when opening files (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12934\"\u003e#12934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match re-exports and global declarations in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb\"\u003e\u003ccode\u003e7488d68\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d28bd0a7abc2b2fdab19220453d85188b66c73a2\"\u003e\u003ccode\u003ed28bd0a\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-optional-chain] safe fix when the chain ends with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f4c77f4b83727e5d86295ceb00a5c9732a37031d\"\u003e\u003ccode\u003ef4c77f4\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-parameters] parenthesize constraint ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8ba19195bf7967dfd7cfdbaf67f294075dcc0d96\"\u003e\u003ccode\u003e8ba1919\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/29d25fa43c152761ccd3e3a632e5fd9f45b1e5c2\"\u003e\u003ccode\u003e29d25fa\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-parameters] count instantiated mappe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/76786e8adbfe937fb49130d7930d21d5479389d6\"\u003e\u003ccode\u003e76786e8\u003c/code\u003e\u003c/a\u003e test(eslint-plugin): [max-params] update TSFunctionType report location for E...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/706298716de5edb95ff58a1ba8806f88f87423e7\"\u003e\u003ccode\u003e7062987\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unused-vars] avoid false-positives when not using our...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d57b8da272375b6a45270639894a793933208a91\"\u003e\u003ccode\u003ed57b8da\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e8593b2be2fcf545c5379503e1ba0dd816fc6036\"\u003e\u003ccode\u003ee8593b2\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-parameters] count instantiated mappe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2211d3fb8e9f596fe753c19baa48b8c7e52dea42\"\u003e\u003ccode\u003e2211d3f\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-optional-chain] check the constrained type (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.2/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.70.0 to 8.71.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.2\u003c/h2\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] avoid false-positives when not using our parser (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989\"\u003e#12989\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type templates (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974\"\u003e#12974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] ignore type-only refs for after-used (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977\"\u003e#12977\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995\"\u003e#12995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805\"\u003e#12805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match linked packages and packages with missing version in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948\"\u003e#12948\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbraham Guo\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.71.1\u003c/h2\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] skip argument checks for calls without arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12923\"\u003e#12923\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unused-vars] report usedOnlyAsType for partially exported merged declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12892\"\u003e#12892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [require-array-sort-compare] use array argument type constraint (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12919\"\u003e#12919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] skip identical types and bound deep type walks (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12957\"\u003e#12957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-confusing-void-expression] don't autofix when declared return type is unknown (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12930\"\u003e#12930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] check the constrained type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12953\"\u003e#12953\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] count instantiated mapped type constraints (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12941\"\u003e#12941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throttle cleanup when opening files (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12934\"\u003e#12934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match re-exports and global declarations in \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12943\"\u003e#12943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMedhansh Poojari\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.2 (2026-10-12)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.1 (2026-10-05)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb\"\u003e\u003ccode\u003e7488d68\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/d57b8da272375b6a45270639894a793933208a91\"\u003e\u003ccode\u003ed57b8da\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8695664c5ee3fbb8fd76907fc45e148579cc3162\"\u003e\u003ccode\u003e8695664\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.2/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.11.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.11.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.8 to 3.9.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Update \u003ccode\u003emicromark-extension-gfm-table\u003c/code\u003e to fix the table parse issue on performance (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20266\"\u003e#20266\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.10/CHANGELOG.md#3910\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.10\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.9...3.9.10\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Update \u003ccode\u003emicromark-extension-gfm-table\u003c/code\u003e to fix the table parse issue on performance (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20266\"\u003e#20266\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267\"\u003ehttps://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch1\u003e3.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\u003cbr /\u003e\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1172b82c295c4f889fd787dc6c78c3e194ebf353\"\u003e\u003ccode\u003e1172b82\u003c/code\u003e\u003c/a\u003e Release 3.9.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d0142273aff2c76f8a69785d42ee2cedc4b0aaa3\"\u003e\u003ccode\u003ed014227\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003emicromark-extension-gfm-table\u003c/code\u003e to fix the table parse issue on perfor...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/953b9084329dcd06ed1072a04b333f1e6e9371e8\"\u003e\u003ccode\u003e953b908\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/ad8a6bf4fa23c42fd114683fec43b28a11bd24af\"\u003e\u003ccode\u003ead8a6bf\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20140\"\u003e#20140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f9be58fb8ec62dd47197ea19a30aac5ad26dfee0\"\u003e\u003ccode\u003ef9be58f\u003c/code\u003e\u003c/a\u003e Git blame ignore 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/88470cb79ca3b757dd6b93906d9a992aa1a456c3\"\u003e\u003ccode\u003e88470cb\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/9559cab39eb5082c99a27e8829760c055adba841\"\u003e\u003ccode\u003e9559cab\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4fc8ee87465de8d54780273a6996d74e8e9da827\"\u003e\u003ccode\u003e4fc8ee8\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.10\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsc-alias` from 1.9.5 to 1.9.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/justkey007/tsc-alias/releases\"\u003etsc-alias's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.7 (2026-09-30)\u003c/h2\u003e\n\u003cp\u003eFixes \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/issues/196\"\u003e#196\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/justkey007/tsc-alias/compare/v1.9.7...v1.9.7\"\u003ehttps://github.com/justkey007/tsc-alias/compare/v1.9.7...v1.9.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.9.6 (2026-09-30)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: correctly resolve aliases between declaration files when using build with emitDeclarationOnly by \u003ca href=\"https://github.com/justkey007\"\u003e\u003ccode\u003e@​justkey007\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/pull/282\"\u003ejustkey007/tsc-alias#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/justkey007/tsc-alias/compare/v1.9.5...v1.9.6\"\u003ehttps://github.com/justkey007/tsc-alias/compare/v1.9.5...v1.9.6\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/justkey007/tsc-alias/commit/1c87891d8dfd57caa8bfee4ec85ae3ef0808b787\"\u003e\u003ccode\u003e1c87891\u003c/code\u003e\u003c/a\u003e 1.9.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/119fadc528d3723b73d077ad8599193793872f85\"\u003e\u003ccode\u003e119fadc\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/issues/285\"\u003e#285\u003c/a\u003e from justkey007/issue196-2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/1e754dc0de28a0818a89c67705c3cbf7f0b46da8\"\u003e\u003ccode\u003e1e754dc\u003c/code\u003e\u003c/a\u003e fix: correctly resolve aliases between declaration files when using build wit...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/6d32952d53acd320ace1141acc610434b2e5aab4\"\u003e\u003ccode\u003e6d32952\u003c/code\u003e\u003c/a\u003e 1.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/528be8849c637f44099eb74baccc91cb660378a4\"\u003e\u003ccode\u003e528be88\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/justkey007/tsc-alias/issues/282\"\u003e#282\u003c/a\u003e from justkey007/issue196\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/justkey007/tsc-alias/commit/7d01d4f7b6f2e688de7541847b813c5c924e72dc\"\u003e\u003ccode\u003e7d01d4f\u003c/code\u003e\u003c/a\u003e fix: correctly resolve aliases between declaration files when using build wit...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/justkey007/tsc-alias/compare/v1.9.5...v1.9.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/Axiumine/marketplace-dev-admin-authenticated-resource/pull/14","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Axiumine%2Fmarketplace-dev-admin-authenticated-resource/issues/14","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/14/packages"}},{"old_version":"18.0.1","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-09T20:02:05.000Z","version_change":"18.0.1 → 18.4.1","issue":{"uuid":"5783933573","node_id":"PR_kwDOSDbf4s8AAAABHmqvOg","number":339,"state":"open","title":"build(deps): bump eslint-plugin-n from 18.0.1 to 18.4.1","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":6,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-09T20:02:05.000Z","updated_at":"2026-10-09T20:07:07.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"eslint-plugin-n","old_version":"18.0.1","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.0.1 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.0.1...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.0.1\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\n\u003c!-- This is an auto-generated description by cubic. --\u003e\n---\n## Summary by cubic\nUpdates `eslint-plugin-n` in the catalog from 18.0.1 to 18.4.1 and updates the lockfile.\n\n**Notable changes**\n- Adds the new rules `prefer-process-get-builtin-module` and `prefer-import/assert-strict`.\n- `no-extraneous` now supports pnpm workspaces.\n- Fixes in `prefer-promises/fs`, `file-extension-in-import`, and `no-path-concat`.\n- Performance improvements from lazy import resolution and per-directory tsconfig caching.\n\n\u003csup\u003eWritten for commit 41dd42c4ac848a4b5fcda47614062f52e753b8b0. Summary will update on new commits.\u003c/sup\u003e\n\n\u003ca href=\"https://cubic.dev/pr/arkorlab/arkor/pull/339?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003cimg alt=\"View guided diff\" src=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://www.cubic.dev/action/auto-fix/pr/arkorlab/arkor/339?returnTo=https%3A%2F%2Fgithub.com%2Farkorlab%2Farkor%2Fpull%2F339\u0026source=description\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg\"\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg\"\u003e\u003cimg alt=\"Turn on auto-fix\" src=\"https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg\"\u003e\u003c/picture\u003e\u003c/a\u003e\n\n\u003c!-- End of auto-generated description by cubic. --\u003e\n\n","html_url":"https://github.com/arkorlab/arkor/pull/339","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/arkorlab%2Farkor/issues/339","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/339/packages"}},{"old_version":"18.3.0","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-06T17:32:39.000Z","version_change":"18.3.0 → 18.4.1","issue":{"uuid":"5732729220","node_id":"PR_kwDONWHzf88AAAABG9x7Lw","number":1310,"state":"open","title":"build(deps): bump eslint-plugin-n from 18.3.0 to 18.4.1","user":"dependabot[bot]","labels":["dependencies","javascript","size/XS"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T17:32:39.000Z","updated_at":"2026-10-06T17:33:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.3.0 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.3.0\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Solvro/lib-web-solvro-config/pull/1310","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Flib-web-solvro-config/issues/1310","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1310/packages"}},{"old_version":"18.2.2","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-06T08:09:55.000Z","version_change":"18.2.2 → 18.4.1","issue":{"uuid":"5725156367","node_id":"PR_kwDOToNlBc8AAAABG3qYtg","number":299,"state":"open","title":"Bump eslint-plugin-n from 18.2.2 to 18.4.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T08:09:55.000Z","updated_at":"2026-10-06T08:15:11.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.2.2 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.2.2\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Irisowi/rsshub/pull/299","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Irisowi%2Frsshub/issues/299","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/299/packages"}},{"old_version":"18.2.2","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-06T08:08:44.000Z","version_change":"18.2.2 → 18.4.1","issue":{"uuid":"5725142062","node_id":"PR_kwDOTmKQSs8AAAABG3pqNw","number":305,"state":"open","title":"Bump eslint-plugin-n from 18.2.2 to 18.4.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T08:08:44.000Z","updated_at":"2026-10-06T08:11:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 18.2.2 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.4.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=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=18.2.2\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/GJZeng/rsshub/pull/305","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/GJZeng%2Frsshub/issues/305","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/305/packages"}},{"old_version":"17.21.3","new_version":"18.4.1","update_type":"major","path":null,"pr_created_at":"2026-10-06T08:04:59.000Z","version_change":"17.21.3 → 18.4.1","issue":{"uuid":"5725097746","node_id":"PR_kwDOD0lHns8AAAABG3nZzw","number":1427,"state":"open","title":"chore(deps-dev): bump eslint-plugin-n from 17.21.3 to 18.4.1","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T08:04:59.000Z","updated_at":"2026-10-06T08:05:00.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev)","packages":[{"name":"eslint-plugin-n","old_version":"17.21.3","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"}],"path":null,"ecosystem":"npm"},"body":"Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 17.21.3 to 18.4.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.21.3...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for eslint-plugin-n since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-n\u0026package-manager=npm_and_yarn\u0026previous-version=17.21.3\u0026new-version=18.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mengx8/RSSHub/pull/1427","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mengx8%2FRSSHub/issues/1427","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1427/packages"}},{"old_version":"18.3.0","new_version":"18.4.1","update_type":"minor","path":null,"pr_created_at":"2026-10-06T07:44:29.000Z","version_change":"18.3.0 → 18.4.1","issue":{"uuid":"5724861528","node_id":"PR_kwDOQk5FCc8AAAABG3bVIQ","number":160,"state":"open","title":"chore(deps): bump the dev-dependencies group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-06T07:44:29.000Z","updated_at":"2026-10-06T07:44:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dev-dependencies","update_count":9,"packages":[{"name":"@commitlint/cli","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.2.2","new_version":"21.2.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"eslint","old_version":"10.9.0","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.1","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"fast-xml-parser","old_version":"5.11.0","new_version":"5.11.2","repository_url":"https://github.com/NaturalIntelligence/fast-xml-parser"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"lefthook","old_version":"2.1.10","new_version":"2.1.16","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"markdownlint-cli2","old_version":"0.23.2","new_version":"0.23.3","repository_url":"https://github.com/DavidAnson/markdownlint-cli2"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.2` | `21.2.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.2` | `21.2.3` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.0` | `10.12.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.1` |\n| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) | `5.11.0` | `5.11.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.10` | `2.1.16` |\n| [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) | `0.23.2` | `0.23.3` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n\n\nUpdates `@commitlint/cli` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md\"\u003e@​commitlint/cli's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003elint:\u003c/strong\u003e trim trailing whitespace off the message handed to ignore matchers (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4960\"\u003e#4960\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003ea6f279b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a6f279b931bb4cf01d17a9ced48de5b9377172bd\"\u003e\u003ccode\u003ea6f279b\u003c/code\u003e\u003c/a\u003e fix(lint): trim trailing whitespace off the message handed to ignore matchers...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/cli\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/config-conventional` from 21.2.2 to 21.2.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/config-conventional's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): correct breaking-change-exclamation-mark rule config type by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(config-nx-scopes): read scopes from the nx project graph by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lint): trim trailing whitespace off the message handed to ignore matchers by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4960\"\u003econventional-changelog/commitlint#4960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): detect dynamic await support on node majors above 20 by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4961\"\u003econventional-changelog/commitlint#4961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(rules): report the case that matched in case rule failure messages by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4962\"\u003econventional-changelog/commitlint#4962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): run the parser factory of scoped conventional-changelog presets by \u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRefactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erefactor(load): drop the node version check gating cosmiconfig loaders by \u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4972\"\u003econventional-changelog/commitlint#4972\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore, ci, build, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebuild: install pnpm via npm instead of corepack by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4948\"\u003econventional-changelog/commitlint#4948\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: retire the docker compose dev environment by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4949\"\u003econventional-changelog/commitlint#4949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild: verify pnpm tarball against the packageManager sha512 pin by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4952\"\u003econventional-changelog/commitlint#4952\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: stabilize Windows CI by raising Vitest default timeout by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: drop the Node 24 config-loading workaround note by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4976\"\u003econventional-changelog/commitlint#4976\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: move pnpm settings from .npmrc to pnpm-workspace.yaml by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4977\"\u003econventional-changelog/commitlint#4977\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: swap pnpm resolutionMode time-based for minimumReleaseAge by \u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4984\"\u003econventional-changelog/commitlint#4984\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4954\"\u003econventional-changelog/commitlint#4954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/escapedcat\"\u003e\u003ccode\u003e@​escapedcat\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4959\"\u003econventional-changelog/commitlint#4959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dylanpulver\"\u003e\u003ccode\u003e@​dylanpulver\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4957\"\u003econventional-changelog/commitlint#4957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maximilliangrand\"\u003e\u003ccode\u003e@​maximilliangrand\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4968\"\u003econventional-changelog/commitlint#4968\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e@​commitlint/config-conventional's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v21.2.2...v21.2.3\"\u003e21.2.3\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003erules:\u003c/strong\u003e report the case that matched in case rule failure messages (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4962\"\u003e#4962\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e9f5f7bc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/95d40569d2592bf9719bc27da2d51fc6b801e4ef\"\u003e\u003ccode\u003e95d4056\u003c/code\u003e\u003c/a\u003e v21.2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/9f5f7bc0304f85f270097a4046da6d0509c44620\"\u003e\u003ccode\u003e9f5f7bc\u003c/code\u003e\u003c/a\u003e fix(rules): report the case that matched in case rule failure messages (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4962\"\u003e#4962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.3/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.9.0 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.0...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.4.0...v18.4.1\"\u003e18.4.1\u003c/a\u003e (2026-10-03)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eprefer-promises/fs:\u003c/strong\u003e cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e37bf3a2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eproperly handle extension override mappings in file-extension-in-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/572\"\u003e#572\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e995c881\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ecache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e1cfd694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e73f4d4f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eresolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003eaff82d1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/f1d47aff402b9e009578f4b3155b84f7d8beef9b\"\u003e\u003ccode\u003ef1d47af\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.1 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/573\"\u003e#573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/73f4d4fd9d70631c777320f0291a02fb59c2b22f\"\u003e\u003ccode\u003e73f4d4f\u003c/code\u003e\u003c/a\u003e chore: Remove stale TypeScript suppressions blocking the Lint job (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/574\"\u003e#574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/37bf3a2f25d5ad4a3e419dd5a9487d5a4a5f74eb\"\u003e\u003ccode\u003e37bf3a2\u003c/code\u003e\u003c/a\u003e fix(prefer-promises/fs): cover fs.watch (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/566\"\u003e#566\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/aff82d1ea9f01125224c1a023007a7c26fd2cd85\"\u003e\u003ccode\u003eaff82d1\u003c/code\u003e\u003c/a\u003e perf: resolve import targets lazily and reuse resolvers (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/570\"\u003e#570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/1cfd694fce17569886b64ba49da902c9ccc8feb6\"\u003e\u003ccode\u003e1cfd694\u003c/code\u003e\u003c/a\u003e perf: cache parsed tsconfig per directory (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/571\"\u003e#571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/995c88173c329f55a485d00df0f11caddbea4205\"\u003e\u003ccode\u003e995c881\u003c/code\u003e\u003c/a\u003e fix: properly handle extension override mappings in file-extension-in-import ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `fast-xml-parser` from 5.11.0 to 5.11.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/releases\"\u003efast-xml-parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.11.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: decode Uint8Array XML input as UTF-8 by \u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: type EntityDecoderOptions.setXmlVersion's version as a number by \u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/emme1t\"\u003e\u003ccode\u003e@​emme1t\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/875\"\u003eNaturalIntelligence/fast-xml-parser#875\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/880\"\u003eNaturalIntelligence/fast-xml-parser#880\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.1...v5.11.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.11.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/checkout from 7.0.0 to 7.0.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/858\"\u003eNaturalIntelligence/fast-xml-parser#858\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump zizmorcore/zizmor-action from 0.5.7 to 0.6.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/856\"\u003eNaturalIntelligence/fast-xml-parser#856\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/setup-node from 6.4.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/854\"\u003eNaturalIntelligence/fast-xml-parser#854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix two 404 documentation links by \u003ca href=\"https://github.com/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/rajanpanth\"\u003e\u003ccode\u003e@​rajanpanth\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/pull/862\"\u003eNaturalIntelligence/fast-xml-parser#862\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\"\u003ehttps://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.1\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md\"\u003efast-xml-parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003eNote: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cp\u003eNote: Due to some last quick changes on v4, detail of v4.5.3 \u0026amp; v4.5.4 are not updated here. v4.5.4x is the last tag of v4 in github repository. I'm extremely sorry for the confusion\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.2 / 2026-09-29\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e): decode Uint8Array XML input as UTF-8 (By emme1t)\u003c/li\u003e\n\u003cli\u003efix (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e) :type EntityDecoderOptions.setXmlVersion's version as a number (By Yevhenii Kotyrlo)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.1 / 2026-08-27\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: validator; Replace regex with a single-pass scanner for attribute tokens, eliminating quadratic behavior on long whitespace runs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.11.0 / 2026-08-16\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efeat: support for endIndex in node metadata (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/850\"\u003e#850\u003c/a\u003e) [By \u003ca href=\"https://github.com/Wain-PC\"\u003ePavel Dranichnikov\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: don't crash on a closing tag with no matching opening tag (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/861\"\u003e#861\u003c/a\u003e) [By \u003ca href=\"https://github.com/hdimer\"\u003eHaïm Dimer\u003c/a\u003e]\u003c/li\u003e\n\u003cli\u003efix: DOCTYPE to read SYSTEM/PUBLIC\u003c/li\u003e\n\u003cli\u003edeps: strnum v2.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.1 / 2026-07-17\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003efix: multiple DOCTYPE declarations.\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003e@nodable/entities\u003c/code\u003e for treeshaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003e5.10.0 / 2026-07-11\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade:\n\u003cul\u003e\n\u003cli\u003exml-naming v0.3.0: cache support\u003c/li\u003e\n\u003cli\u003ePEM v1.6.2: sibling bug fix\u003c/li\u003e\n\u003cli\u003eis-unsafe v2.0.0: tree shaking\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.3 / 2026-06-19\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.2 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test changes in github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.1 / 2026-06-17\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edummy release to test release from github action\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.9.0 / 2026-06-15\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eyou can set hex, binary, enotation, infinity, unicode\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003evalidate unsafe HTML or XML data in doctype entities unsing 'is-unsafe' library.\nUser can override rules by overriding EntityDecoder.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e*\u003cem\u003e5.8.0 / 2026-05-12\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintegrate xml-naming to validate DOCTYPE entity name and notation name (using qname becaue of backward compatibility)\n\u003cul\u003e\n\u003cli\u003eThis will consider xml-version as well. '1.0' is default\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate strnum to 2.3.0\n\u003cul\u003e\n\u003cli\u003eYou can set octal and binary parsing which is bydeault off\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eupdate fast-xml-builder to 1.2.0\n\u003cul\u003e\n\u003cli\u003ecan sanitize tag names if found invalid\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/80e88a848b073fd630bc181291a24922c6d1e839\"\u003e\u003ccode\u003e80e88a8\u003c/code\u003e\u003c/a\u003e 5.11.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/0718e417385d109bc63f509ef0821b0328c4e2d8\"\u003e\u003ccode\u003e0718e41\u003c/code\u003e\u003c/a\u003e changelog, browser bundles\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/1a6646b8949ca54f2e2ea205a5923a9980d8fa1d\"\u003e\u003ccode\u003e1a6646b\u003c/code\u003e\u003c/a\u003e deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/d39644185031299e2f5a84241dcce9bcd3238095\"\u003e\u003ccode\u003ed396441\u003c/code\u003e\u003c/a\u003e audit fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/513d0b3cac51a52d62d79cdf01440aa3bbc21553\"\u003e\u003ccode\u003e513d0b3\u003c/code\u003e\u003c/a\u003e fix: type EntityDecoderOptions.setXmlVersion's version as a number (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/880\"\u003e#880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/bb2ec6ce4bfc3f62d621df6e6bf2b3152965175a\"\u003e\u003ccode\u003ebb2ec6c\u003c/code\u003e\u003c/a\u003e fix: decode Uint8Array XML input as UTF-8 (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/875\"\u003e#875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/3617550adfb280989f482d662b7e9ece55a32a34\"\u003e\u003ccode\u003e3617550\u003c/code\u003e\u003c/a\u003e 5.11.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6021128c3251d4c1456d2c6cd8442a5005a1f39a\"\u003e\u003ccode\u003e6021128\u003c/code\u003e\u003c/a\u003e update for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/6ddcb65f240005988457af6af6dd68fa0947acf5\"\u003e\u003ccode\u003e6ddcb65\u003c/code\u003e\u003c/a\u003e remove regex from validator\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/commit/7d608151078d47040841e9804d490feb5c07dfe7\"\u003e\u003ccode\u003e7d60815\u003c/code\u003e\u003c/a\u003e docs: fix two 404 documentation links (\u003ca href=\"https://redirect.github.com/NaturalIntelligence/fast-xml-parser/issues/862\"\u003e#862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.11.0...v5.11.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 30.0.1 to 30.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev30.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed spurious window \u003ccode\u003eblur\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e events and incorrect \u003ccode\u003eevent.relatedTarget\u003c/code\u003e values when focusing an element after removing the previously focused element, which regressed in v30.1.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus and blur behavior across frames, and focusing the document's viewport through \u003ccode\u003edocument.documentElement.focus()\u003c/code\u003e. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed focus targets removed or disabled by \u003ccode\u003eblur\u003c/code\u003e listeners becoming active, and text selections made by focus and blur listeners being overwritten. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.focus()\u003c/code\u003e incorrectly focusing disabled form controls and \u003ccode\u003e\u0026lt;input type=\u0026quot;hidden\u0026quot;\u0026gt;\u003c/code\u003e elements with \u003ccode\u003etabindex=\u0026quot;\u0026quot;\u003c/code\u003e. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed invalid \u003ccode\u003estyle.setProperty()\u003c/code\u003e calls changing existing \u003ccode\u003e!important\u003c/code\u003e priorities, serialized styles, or mutation records. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e!important\u003c/code\u003e handling when updating CSS longhands after shorthands, using variables or CSS-wide keywords, and assigning style properties directly. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e parsing with \u003ccode\u003eincludeNodeLocations: true\u003c/code\u003e or inside frames to honor the \u003ccode\u003erunScripts\u003c/code\u003e option.\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003estorageQuota\u003c/code\u003e option being ignored by frames.\u003c/li\u003e\n\u003cli\u003eFixed encoding detection of HTML and XML byte input to honor XML encoding declarations and detect UTF-16 without a byte order mark.\u003c/li\u003e\n\u003cli\u003eFixed exceptions caused by truncated \u003ccode\u003echarset\u003c/code\u003e parameters in \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e elements, and encoding detection incorrectly using incomplete \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags. (\u003ca href=\"https://github.com/FedgeNo\"\u003e\u003ccode\u003e@​FedgeNo\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed XML serialization errors for namespaces named \u003ccode\u003econstructor\u003c/code\u003e, \u003ccode\u003etoString\u003c/code\u003e, \u003ccode\u003e__proto__\u003c/code\u003e, or \u003ccode\u003e\u0026quot;null\u0026quot;\u003c/code\u003e, and incorrect reuse of namespace prefixes declared on sibling elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.innerHTML\u003c/code\u003e and \u003ccode\u003eelement.outerHTML\u003c/code\u003e in XML documents to reject invalid characters in attribute values and avoid stack overflows on large strings.\u003c/li\u003e\n\u003cli\u003eFixed selector matching for \u003ccode\u003e:lang()\u003c/code\u003e, \u003ccode\u003e:nth-child(... of ...)\u003c/code\u003e after mutations, and \u003ccode\u003e:has()\u003c/code\u003e with duplicate IDs or nested logical pseudo-classes. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev30.1.0\u003c/h2\u003e\n\u003cp\u003ejsdom is feeling the AGI!\u003c/p\u003e\n\u003cp\u003eThis release is dedicated to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, who unleashed \u003ca href=\"https://github.com/codex\"\u003e\u003ccode\u003e@​codex\u003c/code\u003e\u003c/a\u003e upon jsdom and found tons of performance improvements. Along the way, he found and fixed many correctness issues as well.\u003c/p\u003e\n\u003cp\u003eWe really appreciate his thoughtful PRs, which did a great job following the project's contribution guidelines, and were clearly human-curated, with their PR descriptions edited to be brief and respectful of the maintainers' time.\u003c/p\u003e\n\u003cp\u003eThanks to \u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, as well as all the other contributors of this release (most of whom were AI-assisted).\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded named access to elements on \u003ccode\u003edocument\u003c/code\u003e, such as \u003ccode\u003edocument.myForm\u003c/code\u003e for \u003ccode\u003e\u0026lt;form name=\u0026quot;myForm\u0026quot;\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eQuotaExceededError\u003c/code\u003e, including its use for storage quota errors and oversized \u003ccode\u003ecrypto.getRandomValues()\u003c/code\u003e requests.\u003c/li\u003e\n\u003cli\u003eAdded support for the relaxed DOM naming rules when creating elements, attributes, and document types.\u003c/li\u003e\n\u003cli\u003eImproved performance of DOM construction, tree mutations, range operations, and live collection access, especially on large documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/erezrokah\"\u003e\u003ccode\u003e@​erezrokah\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of \u003ccode\u003egetComputedStyle()\u003c/code\u003e, style changes, and CSS serialization. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jhult\"\u003e\u003ccode\u003e@​jhult\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of event dispatch, form control and label lookups, and updates to \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements and radio button groups. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduced memory use when creating and working with DOM nodes, attributes, event listeners, and mutation observers. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003ewindow.close()\u003c/code\u003e to preserve access to the document and its DOM through retained references.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eelement.querySelectorAll()\u003c/code\u003e returning no matches when the first part of the selector matches the element itself, which regressed in v30.0.0. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed case sensitivity in CSS attribute selectors, including selectors matching \u003ccode\u003edata-state=\u0026quot;\u0026quot;\u003c/code\u003e, \u003ccode\u003etitle=\u0026quot;\u0026quot;\u003c/code\u003e, and other case-sensitive values. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003edocument.querySelector()\u003c/code\u003e failing to find a matching element when an earlier element has the same ID but does not match the rest of the selector. (\u003ca href=\"https://github.com/vojtisprime11\"\u003e\u003ccode\u003e@​vojtisprime11\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003e:focus\u003c/code\u003e matching in shadow trees. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed DOM insertion and replacement, including valid \u003ccode\u003edocument.replaceChildren()\u003c/code\u003e calls, invalid document element and doctype placements, and mutations during \u003ccode\u003eelement.replaceWith()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eFixed the ordering of script execution, custom element callbacks, iframe loading, and mutation observer notifications during DOM insertion, including in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed queued events and navigation continuing after \u003ccode\u003ewindow.close()\u003c/code\u003e or iframe removal, and prevented new scripts, resource loads, timers, and animation frames from starting in destroyed documents. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed parent documents waiting indefinitely for loading to finish when a child iframe removes itself during loading.\u003c/li\u003e\n\u003cli\u003eFixed request cancellation across redirects, during pending \u003ccode\u003erequestInterceptor()\u003c/code\u003e callbacks, and when reusing an \u003ccode\u003eXMLHttpRequest\u003c/code\u003e after aborting it.\u003c/li\u003e\n\u003cli\u003eFixed resource loading and \u003ccode\u003eJSDOM.fromURL()\u003c/code\u003e potentially hanging when response handling throws and response stream cleanup does not finish.\u003c/li\u003e\n\u003cli\u003eFixed successful cached resource loads being treated as aborted.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e and \u003ccode\u003edocument.styleSheets\u003c/code\u003e using the wrong stylesheet order after inserting or updating \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e ignoring nested \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@media\u003c/code\u003e rules in imported stylesheets, and returning stale results after imports finish loading.\u003c/li\u003e\n\u003cli\u003eFixed style invalidation, stylesheet removal, and frame source updates in shadow trees.\u003c/li\u003e\n\u003cli\u003eFixed repeated \u003ccode\u003egetComputedStyle()\u003c/code\u003e calls changing case-sensitive background URLs, and inconsistent resolution of border shorthands containing system colors. (\u003ca href=\"https://github.com/scttcper\"\u003e\u003ccode\u003e@​scttcper\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed border widths, including borderless elements incorrectly reporting \u003ccode\u003e16px\u003c/code\u003e, which regressed in v30.0.0. (\u003ca href=\"https://github.com/Alberto-BaseNet\"\u003e\u003ccode\u003e@​Alberto-BaseNet\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to resolve \u003ccode\u003e'font-weight'\u003c/code\u003e keywords to numeric values. (\u003ca href=\"https://github.com/tianrking\"\u003e\u003ccode\u003e@​tianrking\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e to convert lengths to pixels inside CSS math functions containing percentages, and to resolve percentages in \u003ccode\u003e'font-size'\u003c/code\u003e math functions. (\u003ca href=\"https://github.com/soroushm\"\u003e\u003ccode\u003e@​soroushm\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/0a117f4581b067800fdb3287e22e7cec82221a3c\"\u003e\u003ccode\u003e0a117f4\u003c/code\u003e\u003c/a\u003e 30.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/103f67df7bb94971e111902e6b10bb500d7818a2\"\u003e\u003ccode\u003e103f67d\u003c/code\u003e\u003c/a\u003e Remove unnecessary window cleanup from API tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/cdda00a1c075548c62907cc76f26e93a4be1afac\"\u003e\u003ccode\u003ecdda00a\u003c/code\u003e\u003c/a\u003e Test HTTP/2 document and subresource loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/7ab92ce05b97b62286f1c9a4870a924ef4315a44\"\u003e\u003ccode\u003e7ab92ce\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003e@​asamuzakjp/dom-selector\u003c/code\u003e to v9.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/d940c206bcda5d43e92556d08fcb6a11960df148\"\u003e\u003ccode\u003ed940c20\u003c/code\u003e\u003c/a\u003e Share jsdom settings across descendant windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/6ba40cbea8d9ffcf08e3ce901cf432578166439d\"\u003e\u003ccode\u003e6ba40cb\u003c/code\u003e\u003c/a\u003e Fix and simplify option propagation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/3b3be70acc9a7e5165ecaf90853b5197f5930e5a\"\u003e\u003ccode\u003e3b3be70\u003c/code\u003e\u003c/a\u003e Preserve CSS priorities across declaration updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/97b275821659e818044630e737fc2f6013ca4b6b\"\u003e\u003ccode\u003e97b2758\u003c/code\u003e\u003c/a\u003e Align focusing and unfocusing with HTML\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/b7b460bf473ea98557ad46748fb11e97d238ab81\"\u003e\u003ccode\u003eb7b460b\u003c/code\u003e\u003c/a\u003e Update w3c-xmlserializer to v6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/71d562f858a48020dda69ab29c582394c3033573\"\u003e\u003ccode\u003e71d562f\u003c/code\u003e\u003c/a\u003e Update html-encoding-sniffer to v7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v30.0.1...v30.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lefthook` from 2.1.10 to 2.1.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.16\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e3ee04318fd06d56a70cc9c90dc8385b19918f520 ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e91407e537b2fa36539506963a33e582dca394798 deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebe6f0ae8793533449cb9a07a253fa9a381e82206 fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecf4ef1e19baf0581871f69b40914d64c94ff19d7 fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.15\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2388dde2b31dc9a782e967764046b41b404cece9 feat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e49260b57c2a56bc4d65d09395458bb3ce3c63311 fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38bc1c6cef3192a36002d0dcc37973416249c07e fix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e0892f5f256ebe162485492af5ca14c2ced45586f fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2 fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e07ce565bcc73465bc18fb36561b935ee2a53eab6 fix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec465ca8ef4fc9ee0695aa4a9530fc404ed838b7a test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.14\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch2\u003ev2.1.12\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eb8350fde604197b2422adfc4ae0af080725822b9 ci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1508\"\u003e#1508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e9fb290d786a0e122fe113b1b49a45bbd0ffa7d28 fix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1506\"\u003e#1506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e2f0a9f37cef73e10d95043ba3754329a21850d57 fix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1484\"\u003e#1484\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.11\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ee5b10ac3a2645784ee2e4260620c49c31b44992a deps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1495\"\u003e#1495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ed4a259f460b7c1d8c512dd75eedc7068310ee961 fix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1498\"\u003e#1498\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: test staging fixed files with partially staged by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1483\"\u003e#1483\u003c/a\u003e) by \u003ca href=\"https://github.com/Sakshamm-Goyal\"\u003e\u003ccode\u003e@​Sakshamm-Goyal\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1560\"\u003e#1560\u003c/a\u003e) by \u003ca href=\"https://github.com/devindavies\"\u003e\u003ccode\u003e@​devindavies\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1559\"\u003e#1559\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1523\"\u003e#1523\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1558\"\u003e#1558\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1485\"\u003e#1485\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1527\"\u003e#1527\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1486\"\u003e#1486\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1509\"\u003e#1509\u003c/a\u003e) by \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1547\"\u003e#1547\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.13/2.1.14 (2026-09-14)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: error when --job/--command matches nothing (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1512\"\u003e#1512\u003c/a\u003e) by \u003ca href=\"https://github.com/nityanand123gupta\"\u003e\u003ccode\u003e@​nityanand123gupta\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: disable tty things when stdout is not TTY (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1545\"\u003e#1545\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document files inheritance for grouped jobs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1536\"\u003e#1536\u003c/a\u003e) by \u003ca href=\"https://github.com/chiliec\"\u003e\u003ccode\u003e@​chiliec\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: force colors when colors are explicitly enabled (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1538\"\u003e#1538\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve file_types paths from the repo root (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1537\"\u003e#1537\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: don't force-install hooks from the npm postinstall (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1510\"\u003e#1510\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: quote template run examples (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1472\"\u003e#1472\u003c/a\u003e) by \u003ca href=\"https://github.com/Guflly\"\u003e\u003ccode\u003e@​Guflly\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.12 (2026-08-28)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: fail the hook when staging fixed files errors (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1484\"\u003e#1484\u003c/a\u003e) by \u003ca href=\"https://github.com/teddytennant\"\u003e\u003ccode\u003e@​teddytennant\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: LEFTHOOK_OUTPUT precedence (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1506\"\u003e#1506\u003c/a\u003e) by \u003ca href=\"https://github.com/Yuki9814\"\u003e\u003ccode\u003e@​Yuki9814\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: fix npm publishing by bumping Node to 24 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1508\"\u003e#1508\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.11 (2026-08-21)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: inherit terminal size for PTY commands (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1498\"\u003e#1498\u003c/a\u003e) by \u003ca href=\"https://github.com/mariokresic\"\u003e\u003ccode\u003e@​mariokresic\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: correct Lefthook commit message configuration (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1499\"\u003e#1499\u003c/a\u003e) by \u003ca href=\"https://github.com/codersjj\"\u003e\u003ccode\u003e@​codersjj\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: hide contributors regenerate tip from the site (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1500\"\u003e#1500\u003c/a\u003e) by \u003ca href=\"https://github.com/MikevPeeren\"\u003e\u003ccode\u003e@​MikevPeeren\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify signed-off commit example (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1492\"\u003e#1492\u003c/a\u003e) by \u003ca href=\"https://github.com/nightcityblade\"\u003e\u003ccode\u003e@​nightcityblade\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump Go to 1.26.6 (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1495\"\u003e#1495\u003c/a\u003e) by \u003ca href=\"https://github.com/quaacxlok\"\u003e\u003ccode\u003e@​quaacxlok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix em notice by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update docmd (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1481\"\u003e#1481\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix EM mention HTML by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: clarify remote script folders (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1477\"\u003e#1477\u003c/a\u003e) by \u003ca href=\"https://github.com/scop\"\u003e\u003ccode\u003e@​scop\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: document script args (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1479\"\u003e#1479\u003c/a\u003e) by \u003ca href=\"https://github.com/lntutor\"\u003e\u003ccode\u003e@​lntutor\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update em logo by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/433e6b9067d5d138bf63b47403e0df8895a40e33\"\u003e\u003ccode\u003e433e6b9\u003c/code\u003e\u003c/a\u003e 2.1.16: preserve unrelated unstaged changes on conflicts after autofixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ef1e19baf0581871f69b40914d64c94ff19d7\"\u003e\u003ccode\u003ecf4ef1e\u003c/code\u003e\u003c/a\u003e fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/be6f0ae8793533449cb9a07a253fa9a381e82206\"\u003e\u003ccode\u003ebe6f0ae\u003c/code\u003e\u003c/a\u003e fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/91407e537b2fa36539506963a33e582dca394798\"\u003e\u003ccode\u003e91407e5\u003c/code\u003e\u003c/a\u003e deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmar...\n\n_Description has been truncated_","html_url":"https://github.com/jonathan-vella/apex-accelerator/pull/160","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathan-vella%2Fapex-accelerator/issues/160","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/160/packages"}},{"old_version":"18.3.0","new_version":"18.4.0","update_type":"minor","path":null,"pr_created_at":"2026-10-05T21:40:01.000Z","version_change":"18.3.0 → 18.4.0","issue":{"uuid":"5719284064","node_id":"PR_kwDOUKHE8s8AAAABGy-8_Q","number":28,"state":"closed","title":"Bump the eslint group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["PR: waiting for review","PR: dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-14T05:47:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T21:40:01.000Z","updated_at":"2026-10-14T05:47:48.000Z","time_to_close":720463,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"eslint","update_count":6,"packages":[{"name":"eslint","old_version":"10.9.1","new_version":"10.12.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-jsdoc","old_version":"64.2.1","new_version":"65.0.2","repository_url":"https://github.com/gajus/eslint-plugin-jsdoc"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-unicorn","old_version":"73.0.0","new_version":"76.0.0","repository_url":"https://github.com/sindresorhus/eslint-plugin-unicorn"},{"name":"eslint-plugin-vue","old_version":"10.10.0","new_version":"10.11.1","repository_url":"https://github.com/vuejs/eslint-plugin-vue"},{"name":"globals","old_version":"17.11.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"}],"path":null,"ecosystem":"npm"},"body":"Bumps the eslint group with 6 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.12.0` |\n| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `64.2.1` | `65.0.2` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.0` |\n| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) | `73.0.0` | `76.0.0` |\n| [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue) | `10.10.0` | `10.11.1` |\n| [globals](https://github.com/sindresorhus/globals) | `17.11.0` | `17.13.0` |\n\n\nUpdates `eslint` from 10.9.1 to 10.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.12.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4618052eed6bb3ef420cf0db0490bbda2fd835a5\"\u003e\u003ccode\u003e4618052\u003c/code\u003e\u003c/a\u003e feat: handle astral letters in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21357\"\u003e#21357\u003c/a\u003e) (sary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4ec5168d6d6888e3f7b163eb82963d40e45a75fa\"\u003e\u003ccode\u003e4ec5168\u003c/code\u003e\u003c/a\u003e feat: allow \u003ccode\u003eSourceCode#getText()\u003c/code\u003e to accept tokens and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21340\"\u003e#21340\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e) (Daniel Pinto)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc4d6bdc4c4d1dfba8bdab6a8f44f27a1b1d00a\"\u003e\u003ccode\u003eefc4d6b\u003c/code\u003e\u003c/a\u003e fix: astral letters in \u003ccode\u003econsistent-return\u003c/code\u003e, \u003ccode\u003eno-eval\u003c/code\u003e, \u003ccode\u003eno-invalid-this\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21360\"\u003e#21360\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/93de066d4125f8df013d40305e8009f4634a5cba\"\u003e\u003ccode\u003e93de066\u003c/code\u003e\u003c/a\u003e fix: prefer-exponentiation-operator autofix for async function base (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21322\"\u003e#21322\u003c/a\u003e) (Vladimir Babin)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/02e34ffba6adbed72365177c7caee71d950834e5\"\u003e\u003ccode\u003e02e34ff\u003c/code\u003e\u003c/a\u003e fix: add missing space after \u003ccode\u003eelse\u003c/code\u003e in \u003ccode\u003ecurly\u003c/code\u003e autofix (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21355\"\u003e#21355\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b14b8bc213ccfc19d3edcfa9ce6af62622661160\"\u003e\u003ccode\u003eb14b8bc\u003c/code\u003e\u003c/a\u003e fix: correct \u003ccode\u003eid-length\u003c/code\u003e message for long private names (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21348\"\u003e#21348\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/69aac01d898837a934c9e735e0b7881cc1df09e8\"\u003e\u003ccode\u003e69aac01\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003eTSFunctionType\u003c/code\u003e in \u003ccode\u003egetFunctionHeadLoc\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21335\"\u003e#21335\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/686630eb34ec1cddf399a4e6eaeebb080116a532\"\u003e\u003ccode\u003e686630e\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eno-loss-of-precision\u003c/code\u003e false positive with \u003ccode\u003e0.e5\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21337\"\u003e#21337\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5370d7ee35a6523873f798e87f3ccc73779d5d21\"\u003e\u003ccode\u003e5370d7e\u003c/code\u003e\u003c/a\u003e docs: clarify \u003ccode\u003eone-var\u003c/code\u003e \u003ccode\u003eseparateRequires\u003c/code\u003e matches any \u003ccode\u003erequire()\u003c/code\u003e call (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21192\"\u003e#21192\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8816c1ddfcfa31318ad17cddcfb68acffa30940f\"\u003e\u003ccode\u003e8816c1d\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d2e7cedb7409d8a2c5f2c2fafb14fa22790e40e\"\u003e\u003ccode\u003e3d2e7ce\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-unused-expressions documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21346\"\u003e#21346\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e) (James Ross)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/29585ceba7ad35368d1b763bd1e80d899f28842c\"\u003e\u003ccode\u003e29585ce\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-expect-type to ^0.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21359\"\u003e#21359\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39d79ba9650542ac66d585d1899304abd630c07d\"\u003e\u003ccode\u003e39d79ba\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21354\"\u003e#21354\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/182a6e993a8a5dbdad5a628b69ad7382d48bf24f\"\u003e\u003ccode\u003e182a6e9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21352\"\u003e#21352\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f995127230dad258069c29b7f51971681bd53f00\"\u003e\u003ccode\u003ef995127\u003c/code\u003e\u003c/a\u003e chore: remove CLAUDE.md in favor of AGENTS.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21339\"\u003e#21339\u003c/a\u003e) (Jarren)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b95fb6cb335f82a0ccabb0944ac3b89c703bd947\"\u003e\u003ccode\u003eb95fb6c\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21347\"\u003e#21347\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3782dd458fdfbe492e600d9a54b295a9721ed815\"\u003e\u003ccode\u003e3782dd4\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21342\"\u003e#21342\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a438ec39512c3381f4785a1f3058982ce9845970\"\u003e\u003ccode\u003ea438ec3\u003c/code\u003e\u003c/a\u003e 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/32a73f144198510e23c40c5ca6808e2c09b7e5e5\"\u003e\u003ccode\u003e32a73f1\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7\"\u003e\u003ccode\u003ebc51eee\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003eprefer-arrow-callback\u003c/code\u003e false positive in conditional test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21373\"\u003e#21373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbff86c41521cc435e20754e26007f657a843038\"\u003e\u003ccode\u003ebbff86c\u003c/code\u003e\u003c/a\u003e fix: skip lines with multiple comments in \u003ccode\u003emax-lines-per-function\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21332\"\u003e#21332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/152067f0f81f08b6cce9cf8eeaddb8558731b4f6\"\u003e\u003ccode\u003e152067f\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21362\"\u003e#21362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b56d58e0b1f3c919a6b7661254af760cdd909d6e\"\u003e\u003ccode\u003eb56d58e\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21376\"\u003e#21376\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/67eb586e2eda290813b329d4f40e605ad696bc4f\"\u003e\u003ccode\u003e67eb586\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bfaea12ddc30b458fe4cfbb6c306a62b5299c177\"\u003e\u003ccode\u003ebfaea12\u003c/code\u003e\u003c/a\u003e perf: cache normalized config globals per languageOptions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21364\"\u003e#21364\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/322209ef164e8a00a25ec7ca166969ddc853355c\"\u003e\u003ccode\u003e322209e\u003c/code\u003e\u003c/a\u003e ci: avoid Nx cache in ecosystem tests and disable failing test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21369\"\u003e#21369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d166567901e09940c1de4ad0e95d572eeab5c927\"\u003e\u003ccode\u003ed166567\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.9.9 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21371\"\u003e#21371\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.1...v10.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-jsdoc` from 64.2.1 to 65.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/releases\"\u003eeslint-plugin-jsdoc's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev65.0.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v65.0.1...v65.0.2\"\u003e65.0.2\u003c/a\u003e (2026-10-02)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-indentation\u003c/code\u003e:\u003c/strong\u003e report opening-line indentation on that line (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1785\"\u003e#1785\u003c/a\u003e) (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/d2dfede3577a0c58f0aab961de07caa3c0992855\"\u003ed2dfede\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev65.0.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v65.0.0...v65.0.1\"\u003e65.0.1\u003c/a\u003e (2026-09-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erequire-tags\u003c/code\u003e:\u003c/strong\u003e disallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1782\"\u003e#1782\u003c/a\u003e) (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/cf577f770cb20c54647f53d28db50088c1aae934\"\u003ecf577f7\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev65.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.4...v65.0.0\"\u003e65.0.0\u003c/a\u003e (2026-09-28)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-indentation\u003c/code\u003e:\u003c/strong\u003e forbid missing space between asterisk prefix and content; fixes \u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1779\"\u003e#1779\u003c/a\u003e (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/d65631bf403b68c6c4fd45b5909f1806cb9d25a3\"\u003ed65631b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-line-alignment\u003c/code\u003e:\u003c/strong\u003e allow \u003ccode\u003e-any\u003c/code\u003e within \u003ccode\u003etags\u003c/code\u003e array to apply alignment (or lack thereof) to all tags (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/34edd048ac9914eb0d6888b4b022d4902111bc0d\"\u003e34edd04\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003echeck-indentation\u003c/code\u003e:\u003c/strong\u003e To restore old behavior, use \u003ccode\u003eallowNoSpaceAfterAsterisk: true\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev64.5.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.3...v64.5.4\"\u003e64.5.4\u003c/a\u003e (2026-09-19)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unnecessary-type-assertion\u003c/code\u003e:\u003c/strong\u003e only try typescript if the rule is enabled; fixes \u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1773\"\u003e#1773\u003c/a\u003e (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/3c1c209bed53470ec5fcac8e2fa7693ff254bc91\"\u003e3c1c209\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev64.5.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.2...v64.5.3\"\u003e64.5.3\u003c/a\u003e (2026-09-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efor \u003ca href=\"https://github.com/link\"\u003e\u003ccode\u003e@​link\u003c/code\u003e\u003c/a\u003e targets, check properties within export class declarations; fixes \u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1771\"\u003e#1771\u003c/a\u003e (\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/2d85fedb689f5045f284b37ca4d01ed688c2a920\"\u003e2d85fed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev64.5.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.5.1...v64.5.2\"\u003e64.5.2\u003c/a\u003e (2026-09-16)\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/gajus/eslint-plugin-jsdoc/commit/d2dfede3577a0c58f0aab961de07caa3c0992855\"\u003e\u003ccode\u003ed2dfede\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003echeck-indentation\u003c/code\u003e): report opening-line indentation on that line (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1785\"\u003e#1785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/33203d2f5792e16e4dfa875004fb88da59f4ab1e\"\u003e\u003ccode\u003e33203d2\u003c/code\u003e\u003c/a\u003e chore(deps): bump serialize-javascript from 7.1.1 to 7.1.2 (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1784\"\u003e#1784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/2f2c252812ce50e23bd977276d3ad2e9e9197c34\"\u003e\u003ccode\u003e2f2c252\u003c/code\u003e\u003c/a\u003e chore(deps): bump moment from 2.30.1 to 2.31.0 (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1783\"\u003e#1783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/cf577f770cb20c54647f53d28db50088c1aae934\"\u003e\u003ccode\u003ecf577f7\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003erequire-tags\u003c/code\u003e): disallow extra properties in rule options (\u003ca href=\"https://redirect.github.com/gajus/eslint-plugin-jsdoc/issues/1782\"\u003e#1782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/34edd048ac9914eb0d6888b4b022d4902111bc0d\"\u003e\u003ccode\u003e34edd04\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003echeck-line-alignment\u003c/code\u003e): allow \u003ccode\u003e-any\u003c/code\u003e within \u003ccode\u003etags\u003c/code\u003e array to apply align...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/d65631bf403b68c6c4fd45b5909f1806cb9d25a3\"\u003e\u003ccode\u003ed65631b\u003c/code\u003e\u003c/a\u003e feat(\u003ccode\u003echeck-indentation\u003c/code\u003e): forbid missing space between asterisk prefix and c...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/bcbf6ad2c8c1ba728ac303539a1f454be3c02b5a\"\u003e\u003ccode\u003ebcbf6ad\u003c/code\u003e\u003c/a\u003e docs: add rules to sample listing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/ee242275100b5a8dede6d5123d2fd97146a7aae6\"\u003e\u003ccode\u003eee24227\u003c/code\u003e\u003c/a\u003e chore: update typescript-eslint/utils, devDeps; format README json5 block\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/3c1c209bed53470ec5fcac8e2fa7693ff254bc91\"\u003e\u003ccode\u003e3c1c209\u003c/code\u003e\u003c/a\u003e fix(\u003ccode\u003eno-unnecessary-type-assertion\u003c/code\u003e): only try typescript if the rule is enab...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/commit/a1428759eed6f2d0ba97d6d08bf3d39214c355a0\"\u003e\u003ccode\u003ea142875\u003c/code\u003e\u003c/a\u003e chore: update jsdoccomment, typescript-eslint/utils, comment-parser, devDeps\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gajus/eslint-plugin-jsdoc/compare/v64.2.1...v65.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-unicorn` from 73.0.0 to 76.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/releases\"\u003eeslint-plugin-unicorn's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev76.0.0\u003c/h2\u003e\n\u003ch3\u003eBreaking\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eno-immediate-mutation\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-immediate-mutation.md#checkconditionals\"\u003e\u003ccode\u003echeckConditionals\u003c/code\u003e\u003c/a\u003e option and default it to off (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3707\"\u003e#3707\u003c/a\u003e)  4686e7ef\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eno-break-in-nested-loop\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-break-in-nested-loop.md#checkcontinue\"\u003e\u003ccode\u003echeckContinue\u003c/code\u003e\u003c/a\u003e option and default it to off (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3712\"\u003e#3712\u003c/a\u003e)  d8fbfde8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-combined-guards\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-combined-guards.md#checkcompoundconditions\"\u003e\u003ccode\u003echeckCompoundConditions\u003c/code\u003e\u003c/a\u003e option default it to off (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3710\"\u003e#3710\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eprefer-minimal-ternary\u003c/code\u003e: Add autofix (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3716\"\u003e#3716\u003c/a\u003e)  aaa75a46\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-logical-operator-over-ternary\u003c/code\u003e: Handle boolean expressions (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-ternary\u003c/code\u003e: Preserve readable branches (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3709\"\u003e#3709\u003c/a\u003e)  f7a35aea\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eno-typeof-undefined\u003c/code\u003e: Ignore TypeScript ambient variables (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3708\"\u003e#3708\u003c/a\u003e)  9245ed87\u003c/li\u003e\n\u003cli\u003eFix autofixes that hardcoded a tab for inserted indentation (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3721\"\u003e#3721\u003c/a\u003e)  db20ce1c\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v75.0.0...v76.0.0\"\u003ehttps://github.com/sindresorhus/eslint-plugin-unicorn/compare/v75.0.0...v76.0.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev75.0.0\u003c/h2\u003e\n\u003ch2\u003eNew rules\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-combined-guards.md\"\u003e\u003ccode\u003eprefer-combined-guards\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3680\"\u003e#3680\u003c/a\u003e)  5d9d745c\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-iterator-helper.md\"\u003e\u003ccode\u003eno-unused-iterator-helper\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3677\"\u003e#3677\u003c/a\u003e)  82137379\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unused-builtin-method-return.md\"\u003e\u003ccode\u003eno-unused-builtin-method-return\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3676\"\u003e#3676\u003c/a\u003e)  b3d56a35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-zip.md\"\u003e\u003ccode\u003eprefer-iterator-zip\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3675\"\u003e#3675\u003c/a\u003e)  60d3b53a\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-useless-set-construction.md\"\u003e\u003ccode\u003eno-useless-set-construction\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3672\"\u003e#3672\u003c/a\u003e)  639c9844\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-iterator-helpers.md\"\u003e\u003ccode\u003eprefer-iterator-helpers\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3670\"\u003e#3670\u003c/a\u003e)  4c805e26\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-json-import.md\"\u003e\u003ccode\u003eprefer-json-import\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3668\"\u003e#3668\u003c/a\u003e)  1df640dd\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-temporal-conversion.md\"\u003e\u003ccode\u003eprefer-temporal-conversion\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3667\"\u003e#3667\u003c/a\u003e)  74bc02e7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-async-iterator-callback.md\"\u003e\u003ccode\u003eno-async-iterator-callback\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3666\"\u003e#3666\u003c/a\u003e)  bb6c2450\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-using-resource-escape.md\"\u003e\u003ccode\u003eno-using-resource-escape\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3663\"\u003e#3663\u003c/a\u003e)  34247853\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-uint8array-hex.md\"\u003e\u003ccode\u003eprefer-uint8array-hex\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3661\"\u003e#3661\u003c/a\u003e)  92551329\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-deprecated-css-features.md\"\u003e\u003ccode\u003eno-deprecated-css-features\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3651\"\u003e#3651\u003c/a\u003e)  e1161021\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unscoped-css-nesting-selector.md\"\u003e\u003ccode\u003eno-unscoped-css-nesting-selector\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3650\"\u003e#3650\u003c/a\u003e)  ebd03bdf\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-duplicate-css-selectors.md\"\u003e\u003ccode\u003eno-duplicate-css-selectors\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3646\"\u003e#3646\u003c/a\u003e)  508d9f50\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unknown-pseudo-selectors.md\"\u003e\u003ccode\u003eno-unknown-pseudo-selectors\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3644\"\u003e#3644\u003c/a\u003e)  99492cd7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-media-features.md\"\u003e\u003ccode\u003eno-invalid-media-features\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3643\"\u003e#3643\u003c/a\u003e)  ef37c1f1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unknown-css-annotations.md\"\u003e\u003ccode\u003eno-unknown-css-annotations\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3642\"\u003e#3642\u003c/a\u003e)  19637ee8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-nesting-with-mixed-specificity.md\"\u003e\u003ccode\u003eno-nesting-with-mixed-specificity\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3640\"\u003e#3640\u003c/a\u003e)  b2f2bf9d\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-media-feature-range-syntax.md\"\u003e\u003ccode\u003eprefer-media-feature-range-syntax\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3639\"\u003e#3639\u003c/a\u003e)  19f112f6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-duplicate-font-family-names.md\"\u003e\u003ccode\u003eno-duplicate-font-family-names\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3638\"\u003e#3638\u003c/a\u003e)  c8f81bc8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-redundant-nested-style-rules.md\"\u003e\u003ccode\u003eno-redundant-nested-style-rules\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3637\"\u003e#3637\u003c/a\u003e)  31603ad6\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd TOML support (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3687\"\u003e#3687\u003c/a\u003e)  f61393aa\u003c/li\u003e\n\u003cli\u003eImprove performance  3cfa32ce\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprefer-continue\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-continue.md#checkshortbodies\"\u003e\u003ccode\u003echeckShortBodies\u003c/code\u003e\u003c/a\u003e option (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3699\"\u003e#3699\u003c/a\u003e)  274d5815\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003efilename-case\u003c/code\u003e: Add \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/filename-case.md#directoryroots\"\u003e\u003ccode\u003edirectoryRoots\u003c/code\u003e\u003c/a\u003e option (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3647\"\u003e#3647\u003c/a\u003e)  d2d6cc3e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/f70155ebe24dbb35b9814c3dbb3ab3620e09c3e1\"\u003e\u003ccode\u003ef70155e\u003c/code\u003e\u003c/a\u003e 76.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/db20ce1c16621e7c2303780d992f1981d3271a85\"\u003e\u003ccode\u003edb20ce1\u003c/code\u003e\u003c/a\u003e Fix autofixes that hardcoded a tab for inserted indentation (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3721\"\u003e#3721\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/aaa75a46c836dc773afe6b0f3ba357591d9f4f75\"\u003e\u003ccode\u003eaaa75a4\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-minimal-ternary\u003c/code\u003e: Add autofix (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3716\"\u003e#3716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/577746ba66eded45aad54c3fa413a8f7a4ef2593\"\u003e\u003ccode\u003e577746b\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-logical-operator-over-ternary\u003c/code\u003e: Handle boolean expressions (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3711\"\u003e#3711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/d8fbfde840cdd834fd371e65e340488527f9d00f\"\u003e\u003ccode\u003ed8fbfde\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eno-break-in-nested-loop\u003c/code\u003e: Add \u003ccode\u003echeckContinue\u003c/code\u003e option and default it to off (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/a0fdbeff0d2fd8b4dd843c452d0b4929633792ec\"\u003e\u003ccode\u003ea0fdbef\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-combined-guards\u003c/code\u003e: Add \u003ccode\u003echeckCompoundConditions\u003c/code\u003e option and make it of...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/f7a35aeae3f723a774308400a0fd916966cfc79d\"\u003e\u003ccode\u003ef7a35ae\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eprefer-ternary\u003c/code\u003e: Preserve readable branches (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3709\"\u003e#3709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/9245ed87b2511487fecb5811e16377d42d65846b\"\u003e\u003ccode\u003e9245ed8\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eno-typeof-undefined\u003c/code\u003e: Ignore TypeScript ambient variables (\u003ca href=\"https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3708\"\u003e#3708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/4686e7eff616554b81a9f87c3894181fcd176d0e\"\u003e\u003ccode\u003e4686e7e\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eno-immediate-mutation\u003c/code\u003e: Add \u003ccode\u003echeckConditionals\u003c/code\u003e option and default it to off...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/commit/80939f9de76d4544bae132800f26bc7f248bee27\"\u003e\u003ccode\u003e80939f9\u003c/code\u003e\u003c/a\u003e 75.0.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v73.0.0...v76.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-vue` from 10.10.0 to 10.11.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/releases\"\u003eeslint-plugin-vue's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.11.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html\"\u003e\u003ccode\u003evue/no-ref-object-reactivity-loss\u003c/code\u003e\u003c/a\u003e false negatives for values gotten in an immediately invoked function expression (IIFE) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3115\"\u003e#3115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-unused-properties.html\"\u003e\u003ccode\u003evue/no-unused-properties\u003c/code\u003e\u003c/a\u003e false positive for props explicitly typed as \u003ccode\u003enever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3113\"\u003e#3113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e to no longer require a default value for \u003ccode\u003edefineModel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3138\"\u003e#3138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edefineModel\u003c/code\u003e support to \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://eslint.vuejs.org/rules/require-valid-default-prop.html\"\u003e\u003ccode\u003evue/require-valid-default-prop\u003c/code\u003e\u003c/a\u003e rules (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3032\"\u003e#3032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for SFCs using \u003ccode\u003e@nuxtjs/composition-api\u003c/code\u003e, which is now treated the same as \u003ccode\u003evue\u003c/code\u003e or \u003ccode\u003e@vue/composition-api\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new \u003ca href=\"https://eslint.vuejs.org/rules/no-shadow-native-events.html\"\u003e\u003ccode\u003evue/no-shadow-native-events\u003c/code\u003e\u003c/a\u003e rule (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/use-v-on-exact.html\"\u003e\u003ccode\u003evue/use-v-on-exact\u003c/code\u003e\u003c/a\u003e to avoid reporting \u003ccode\u003e@keydown.stop\u003c/code\u003e when paired with an exact key-specific listener (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpecified explicit \u003ccode\u003eitems\u003c/code\u003e policies for array rule option schemas (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3112\"\u003e#3112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated resources (HTML elements) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3132\"\u003e#3132\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3133\"\u003e#3133\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/vuejs/eslint-plugin-vue/blob/master/CHANGELOG.md\"\u003eeslint-plugin-vue's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.11.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html\"\u003e\u003ccode\u003evue/no-ref-object-reactivity-loss\u003c/code\u003e\u003c/a\u003e false negatives for values gotten in an immediately invoked function expression (IIFE) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3115\"\u003e#3115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/no-unused-properties.html\"\u003e\u003ccode\u003evue/no-unused-properties\u003c/code\u003e\u003c/a\u003e false positive for props explicitly typed as \u003ccode\u003enever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3113\"\u003e#3113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e to no longer require a default value for \u003ccode\u003edefineModel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3138\"\u003e#3138\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.11.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003edefineModel\u003c/code\u003e support to \u003ca href=\"https://eslint.vuejs.org/rules/require-default-prop.html\"\u003e\u003ccode\u003evue/require-default-prop\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://eslint.vuejs.org/rules/require-valid-default-prop.html\"\u003e\u003ccode\u003evue/require-valid-default-prop\u003c/code\u003e\u003c/a\u003e rules (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3032\"\u003e#3032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded support for SFCs using \u003ccode\u003e@nuxtjs/composition-api\u003c/code\u003e, which is now treated the same as \u003ccode\u003evue\u003c/code\u003e or \u003ccode\u003e@vue/composition-api\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3100\"\u003e#3100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded new \u003ca href=\"https://eslint.vuejs.org/rules/no-shadow-native-events.html\"\u003e\u003ccode\u003evue/no-shadow-native-events\u003c/code\u003e\u003c/a\u003e rule (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/2558\"\u003e#2558\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://eslint.vuejs.org/rules/use-v-on-exact.html\"\u003e\u003ccode\u003evue/use-v-on-exact\u003c/code\u003e\u003c/a\u003e to avoid reporting \u003ccode\u003e@keydown.stop\u003c/code\u003e when paired with an exact key-specific listener (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3082\"\u003e#3082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSpecified explicit \u003ccode\u003eitems\u003c/code\u003e policies for array rule option schemas (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3112\"\u003e#3112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated resources (HTML elements) (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3132\"\u003e#3132\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/pull/3133\"\u003e#3133\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/vuejs/eslint-plugin-vue/commit/ec9c53a6fbed637d7b0fbcd6893b0206ae32839f\"\u003e\u003ccode\u003eec9c53a\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3139\"\u003e#3139\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/50ffb7f714cdebff93bc436e6eaf572c2aae07e7\"\u003e\u003ccode\u003e50ffb7f\u003c/code\u003e\u003c/a\u003e docs: explain how to apply the configs to a subset of files (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3122\"\u003e#3122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/ad239b4d97e9b46da535aea2f7df3e0fb57b98a9\"\u003e\u003ccode\u003ead239b4\u003c/code\u003e\u003c/a\u003e fix(no-unused-properties): ignore props typed as \u003ccode\u003enever\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3113\"\u003e#3113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/24cb5bc62d4cb48de82d5250a856923ab89cd3bd\"\u003e\u003ccode\u003e24cb5bc\u003c/code\u003e\u003c/a\u003e fix(no-ref-object-reactivity-loss): improve IIFE handling (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3115\"\u003e#3115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/ef6f53e2c999bd688a4b0e1bdc4432ff6d380a41\"\u003e\u003ccode\u003eef6f53e\u003c/code\u003e\u003c/a\u003e fix(require-default-prop): don't report on \u003ccode\u003edefineModel\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3138\"\u003e#3138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/121030cfdd66e726414d548a8deebaa07ade38ac\"\u003e\u003ccode\u003e121030c\u003c/code\u003e\u003c/a\u003e Format changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/97c5634af60db769cf795a36de383608ee64f0f8\"\u003e\u003ccode\u003e97c5634\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3106\"\u003e#3106\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/abe8befb7b8c228135ce58323d43a55a7df743a6\"\u003e\u003ccode\u003eabe8bef\u003c/code\u003e\u003c/a\u003e Update resources (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3133\"\u003e#3133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/f3a027627472216e17e812f5324059f45d156298\"\u003e\u003ccode\u003ef3a0276\u003c/code\u003e\u003c/a\u003e Make wording in changeset more consistent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/commit/87cd11399a9a9c921e5a8d4d08cfa502e8541a1f\"\u003e\u003ccode\u003e87cd113\u003c/code\u003e\u003c/a\u003e Update resources (\u003ca href=\"https://redirect.github.com/vuejs/eslint-plugin-vue/issues/3132\"\u003e#3132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vuejs/eslint-plugin-vue/compare/v10.10.0...v10.11.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.11.0 to 17.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)  b007369\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev17.12.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-09-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/353\"\u003e#353\u003c/a\u003e)  50a2119\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e__webpack_layer__\u003c/code\u003e global (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/351\"\u003e#351\u003c/a\u003e)  779a11a\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.11.0...v17.12.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.11.0...v17.12.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/ce512bc1949f918ad6c17cc864a63ab6b077764f\"\u003e\u003ccode\u003ece512bc\u003c/code\u003e\u003c/a\u003e 17.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/b0073695ad35ad0cb34504f3152a20a8411306e7\"\u003e\u003ccode\u003eb007369\u003c/code\u003e\u003c/a\u003e Update globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/16cb1fe4a57062e8b3844b0c74b4d554f53af803\"\u003e\u003ccode\u003e16cb1fe\u003c/code\u003e\u003c/a\u003e Meta tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/98008c3200fc994ef3c074699e8ce0c9691fd071\"\u003e\u003ccode\u003e98008c3\u003c/code\u003e\u003c/a\u003e 17.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/50a2119777b37fef046c2e0bc24bca0bd9feb0be\"\u003e\u003ccode\u003e50a2119\u003c/code\u003e\u003c/a\u003e Update globals (2026-09-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/353\"\u003e#353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/779a11a345f072a7fbb76b8b92458987a9a8fa38\"\u003e\u003ccode\u003e779a11a\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e__webpack_layer__\u003c/code\u003e global (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/351\"\u003e#351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.11.0...v17.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/jbrionestutiven-pixel/gh-repo-clone-FreeTubeApp-FreeTube/pull/28","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrionestutiven-pixel%2Fgh-repo-clone-FreeTubeApp-FreeTube/issues/28","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/28/packages"}},{"old_version":"17.24.0","new_version":"18.3.0","update_type":"major","path":null,"pr_created_at":"2026-10-05T18:41:16.000Z","version_change":"17.24.0 → 18.3.0","issue":{"uuid":"5717244966","node_id":"PR_kwDOQNRdbM8AAAABGxV_Hg","number":454,"state":"open","title":"chore(deps): bump the npm-dependencies group across 1 directory with 41 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-05T18:41:16.000Z","updated_at":"2026-10-05T21:01:17.999Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-dependencies","update_count":41,"packages":[{"name":"@typescript-eslint/eslint-plugin","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.69.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"eslint","old_version":"10.9.1","new_version":"10.11.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-n","old_version":"17.24.0","new_version":"18.3.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"knip","old_version":"6.34.0","new_version":"6.38.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"prettier","old_version":"3.9.6","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.10.12","new_version":"2.11.4","repository_url":"https://github.com/vercel/turborepo"},{"name":"@tanstack/react-query","old_version":"5.102.8","new_version":"5.103.2","repository_url":"https://github.com/TanStack/query"},{"name":"react-router","old_version":"7.18.3","new_version":"8.4.0","repository_url":"https://github.com/remix-run/react-router"},{"name":"@testing-library/dom","old_version":"10.4.1","new_version":"10.4.2","repository_url":"https://github.com/testing-library/dom-testing-library"},{"name":"jsdom","old_version":"30.0.1","new_version":"30.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"nanostores","old_version":"1.5.3","new_version":"1.5.4","repository_url":"https://github.com/nanostores/nanostores"},{"name":"orval","old_version":"8.27.0","new_version":"8.37.0","repository_url":"https://github.com/orval-labs/orval"},{"name":"vite","old_version":"8.2.2","new_version":"8.3.1","repository_url":"https://github.com/vitejs/vite"},{"name":"@fastify/cors","old_version":"10.1.0","new_version":"11.3.0","repository_url":"https://github.com/fastify/fastify-cors"},{"name":"@fastify/rate-limit","old_version":"10.3.0","new_version":"11.2.0","repository_url":"https://github.com/fastify/fastify-rate-limit"},{"name":"@fastify/swagger","old_version":"9.8.1","new_version":"9.9.0","repository_url":"https://github.com/fastify/fastify-swagger"},{"name":"@fastify/under-pressure","old_version":"9.1.0","new_version":"9.2.0","repository_url":"https://github.com/fastify/under-pressure"},{"name":"fastify-plugin","old_version":"5.1.0","new_version":"6.0.0","repository_url":"https://github.com/fastify/fastify-plugin"},{"name":"tsc-alias","old_version":"1.9.3","new_version":"1.9.5","repository_url":"https://github.com/justkey007/tsc-alias"},{"name":"resend","old_version":"6.28.1","new_version":"6.30.0","repository_url":"https://github.com/resend/resend-node"},{"name":"drizzle-kit","old_version":"0.31.10","new_version":"0.31.11","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"@langchain/anthropic","old_version":"1.5.9","new_version":"1.5.11","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/core","old_version":"1.2.9","new_version":"1.2.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"@langchain/openai","old_version":"1.5.11","new_version":"1.5.13","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langchain","old_version":"1.5.10","new_version":"1.5.12","repository_url":"https://github.com/langchain-ai/langchainjs"},{"name":"langsmith","old_version":"0.10.1","new_version":"0.10.5","repository_url":"https://github.com/langchain-ai/langsmith-sdk"},{"name":"p-limit","old_version":"7.3.2","new_version":"7.3.3","repository_url":"https://github.com/sindresorhus/p-limit"},{"name":"ioredis","old_version":"5.11.1","new_version":"6.0.0","repository_url":"https://github.com/redis/ioredis"},{"name":"@dotenvx/dotenvx","old_version":"2.28.0","new_version":"2.30.0","repository_url":"https://github.com/dotenvx/dotenvx"},{"name":"@types/node","old_version":"26.5.1","new_version":"26.6.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"better-auth","old_version":"1.7.4","new_version":"1.7.6","repository_url":"https://github.com/better-auth/better-auth"},{"name":"drizzle-orm","old_version":"0.45.2","new_version":"0.45.3","repository_url":"https://github.com/drizzle-team/drizzle-orm"},{"name":"react-dom","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react-dom","old_version":"19.2.5","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react","old_version":"19.2.8","new_version":"19.3.0","repository_url":"https://github.com/react/react"},{"name":"@types/react","old_version":"19.2.18","new_version":"19.3.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"tsx","old_version":"4.23.13","new_version":"4.23.15","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"5.0.0","new_version":"5.0.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"zod","old_version":"4.5.4","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-dependencies group with 41 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.69.0` | `8.70.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.69.0` | `8.70.1` |\n| [eslint](https://github.com/eslint/eslint) | `10.9.1` | `10.11.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `17.24.0` | `18.3.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.34.0` | `6.38.0` |\n| [prettier](https://github.com/prettier/prettier) | `3.9.6` | `3.9.9` |\n| [turbo](https://github.com/vercel/turborepo) | `2.10.12` | `2.11.4` |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.102.8` | `5.103.2` |\n| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.18.3` | `8.4.0` |\n| [@testing-library/dom](https://github.com/testing-library/dom-testing-library) | `10.4.1` | `10.4.2` |\n| [jsdom](https://github.com/jsdom/jsdom) | `30.0.1` | `30.1.1` |\n| [nanostores](https://github.com/nanostores/nanostores) | `1.5.3` | `1.5.4` |\n| [orval](https://github.com/orval-labs/orval) | `8.27.0` | `8.37.0` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.2.2` | `8.3.1` |\n| [@fastify/cors](https://github.com/fastify/fastify-cors) | `10.1.0` | `11.3.0` |\n| [@fastify/rate-limit](https://github.com/fastify/fastify-rate-limit) | `10.3.0` | `11.2.0` |\n| [@fastify/swagger](https://github.com/fastify/fastify-swagger) | `9.8.1` | `9.9.0` |\n| [@fastify/under-pressure](https://github.com/fastify/under-pressure) | `9.1.0` | `9.2.0` |\n| [fastify-plugin](https://github.com/fastify/fastify-plugin) | `5.1.0` | `6.0.0` |\n| [tsc-alias](https://github.com/justkey007/tsc-alias) | `1.9.3` | `1.9.5` |\n| [resend](https://github.com/resend/resend-node) | `6.28.1` | `6.30.0` |\n| [drizzle-kit](https://github.com/drizzle-team/drizzle-orm) | `0.31.10` | `0.31.11` |\n| [@langchain/anthropic](https://github.com/langchain-ai/langchainjs) | `1.5.9` | `1.5.11` |\n| [@langchain/core](https://github.com/langchain-ai/langchainjs) | `1.2.9` | `1.2.12` |\n| [@langchain/openai](https://github.com/langchain-ai/langchainjs) | `1.5.11` | `1.5.13` |\n| [langchain](https://github.com/langchain-ai/langchainjs) | `1.5.10` | `1.5.12` |\n| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.10.1` | `0.10.5` |\n| [p-limit](https://github.com/sindresorhus/p-limit) | `7.3.2` | `7.3.3` |\n| [ioredis](https://github.com/redis/ioredis) | `5.11.1` | `6.0.0` |\n| [@dotenvx/dotenvx](https://github.com/dotenvx/dotenvx) | `2.28.0` | `2.30.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.5.1` | `26.6.2` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.0` | `5.0.2` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.7.4` | `1.7.6` |\n| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm) | `0.45.2` | `0.45.3` |\n| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.2.8` | `19.3.0` |\n| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) | `19.2.5` | `19.3.0` |\n| [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.2.8` | `19.3.0` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.18` | `19.3.0` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.23.13` | `4.23.15` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.0` | `5.0.2` |\n| [zod](https://github.com/colinhacks/zod) | `4.5.4` | `4.6.5` |\n\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.69.0 to 8.70.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.70.0 (2026-09-07)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12730\"\u003e#12730\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] report deprecated imported values used in object shorthand properties (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12780\"\u003e#12780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] no false positive on RHS of a nested logical expression (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12728\"\u003e#12728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [member-ordering] don't report fields that read fields declared before them (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12729\"\u003e#12729\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/9d82e4b1d9011da31d62d14387bb5a539853fafa\"\u003e\u003ccode\u003e9d82e4b\u003c/code\u003e\u003c/a\u003e chore: expand eslint-plugin rules test files glob (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12878\"\u003e#12878\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f7482f636b89b8eab966b4191ce4a53a3f4b4d9c\"\u003e\u003ccode\u003ef7482f6\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-misused-promises] handle multiple Promise constituent...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/267304477e04538614fe72ad71e7e13082eb7a90\"\u003e\u003ccode\u003e2673044\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [prefer-promise-reject-errors] add option sections and e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8f141a2ba63d539465eb4e4604f7d79f6f50ce14\"\u003e\u003ccode\u003e8f141a2\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] convert the fixer to a su...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/479cd85ff82b81dbec9989621681257ebc317a69\"\u003e\u003ccode\u003e479cd85\u003c/code\u003e\u003c/a\u003e chore: enable assertion option \u003ccode\u003erequireData\u003c/code\u003e for all rule tests (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12816\"\u003e#12816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f3c190c5b5cfa9edaba15fa3f944a76a7364b3ed\"\u003e\u003ccode\u003ef3c190c\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-condition] handle union-keyed index acces...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/b1993dfd3c45b2c2d83058627499f1dfec5d6d2c\"\u003e\u003ccode\u003eb1993df\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unbound-method] treat Intl.Collator.prototype.compare as...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/da394bc9c21afe97f456040da723d2c558f99658\"\u003e\u003ccode\u003eda394bc\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-parameter-property-assignment] account fo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4a742ff890b7cca8cbf79e78a9a3b345913094c6\"\u003e\u003ccode\u003e4a742ff\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [await-thenable] prevent autofix from breaking code when ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/packages/eslint-plugin\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/parser` from 8.69.0 to 8.70.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.70.1\u003c/h2\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003east-spec:\u003c/strong\u003e narrow import attribute keys to identifiers and strings (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12879\"\u003e#12879\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] avoid false positives on tuples with a rest element (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12768\"\u003e#12768\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-parameters] handle type precedence in the suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12637\"\u003e#12637\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-explicit-any] use unknown[] for bare any rest parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12818\"\u003e#12818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-generated-empty-object-type] don't report a mapped type whose keys are not resolved yet (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12854\"\u003e#12854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-spread] omit WeakMap spread suggestions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12850\"\u003e#12850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] false positive for empty object asserted to a type alias of Record (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12869\"\u003e#12869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-meaningless-void-operator] allow void on assignment expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12873\"\u003e#12873\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [await-thenable] prevent autofix from breaking code when removing \u003ccode\u003eawait\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12716\"\u003e#12716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-parameter-property-assignment] account for parameter reassignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12880\"\u003e#12880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] treat Intl.Collator.prototype.compare as spec-bound (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12845\"\u003e#12845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] handle union-keyed index access on the left-hand side of nullish assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12747\"\u003e#12747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] convert the fixer to a suggestion fixer (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12826\"\u003e#12826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle multiple Promise constituents (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12904\"\u003e#12904\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e test the final autofix output instead of the first pass (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12867\"\u003e#12867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003escope-manager:\u003c/strong\u003e merge implicit global definitions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12809\"\u003e#12809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etype-utils:\u003c/strong\u003e match package specifiers on whole path components (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12838\"\u003e#12838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e resolve symlinked paths when matching files to projects (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12725\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e add missing \u003ccode\u003e\u0026lt;\u003c/code\u003e token opening type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12821\"\u003e#12821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e require string literal import attribute values (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12894\"\u003e#12894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ewebsite:\u003c/strong\u003e prevent playground from breaking down after opening link with the .js file type (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12777\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAmin \u003ca href=\"https://github.com/amiin-dev\"\u003e\u003ccode\u003e@​amiin-dev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBrad Zacher \u003ca href=\"https://github.com/bradzacher\"\u003e\u003ccode\u003e@​bradzacher\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCameron\u003c/li\u003e\n\u003cli\u003eDiptajoy Mistry \u003ca href=\"https://github.com/diptomistry\"\u003e\u003ccode\u003e@​diptomistry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrit \u003ca href=\"https://github.com/Grit03\"\u003e\u003ccode\u003e@​Grit03\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eHugo \u003ca href=\"https://github.com/hugop95\"\u003e\u003ccode\u003e@​hugop95\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eMichael Naumov \u003ca href=\"https://github.com/mnaoumov\"\u003e\u003ccode\u003e@​mnaoumov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMikhail Baev \u003ca href=\"https://github.com/baevm\"\u003e\u003ccode\u003e@​baevm\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOm Rawat\u003c/li\u003e\n\u003cli\u003eoverlookmotel\u003c/li\u003e\n\u003cli\u003eSanath \u003ca href=\"https://github.com/sansynx\"\u003e\u003ccode\u003e@​sansynx\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShinji\u003c/li\u003e\n\u003cli\u003estoicism \u003ca href=\"https://github.com/stoicism02\"\u003e\u003ccode\u003e@​stoicism02\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVinccool96\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e김채영 \u003ca href=\"https://github.com/cchaeyoung\"\u003e\u003ccode\u003e@​cchaeyoung\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e송재욱\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.70.1 (2026-09-21)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.70.0 (2026-09-07)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.70.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/23d38ceeb8fb1237f55cb62fc2b54419e1fa1ed7\"\u003e\u003ccode\u003e23d38ce\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7ee76085c22e923c0036b8e0733a3ca7dfd82b60\"\u003e\u003ccode\u003e7ee7608\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.70.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.70.1/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 10.9.1 to 10.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.11.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21271\"\u003e#21271\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/397b3b8134b8ce1a61cbf414d4c29c945ba25690\"\u003e\u003ccode\u003e397b3b8\u003c/code\u003e\u003c/a\u003e feat: report unsafe labeled \u003ccode\u003econtinue\u003c/code\u003e in \u003ccode\u003eno-unsafe-finally\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21316\"\u003e#21316\u003c/a\u003e) (electrohyun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d3dd47f42e4cb5f9da27e3a2e741aa21e02ea1a4\"\u003e\u003ccode\u003ed3dd47f\u003c/code\u003e\u003c/a\u003e feat: only exempt \u003ccode\u003enew-cap\u003c/code\u003e built-ins that reference the global (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21290\"\u003e#21290\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b684bb1cd7e6be03ad1b7a951baead936d9c2166\"\u003e\u003ccode\u003eb684bb1\u003c/code\u003e\u003c/a\u003e fix: make TimePass.parse optional in types and docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21313\"\u003e#21313\u003c/a\u003e) (ntnyq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/26d11bce3e0e21f223613d4bb4be3423839b229e\"\u003e\u003ccode\u003e26d11bc\u003c/code\u003e\u003c/a\u003e fix: don't report \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eobject-shorthand\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21310\"\u003e#21310\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e) (bytedoe)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6c789ff39bc5420e94e8dafeb328bf2b7e3d35ab\"\u003e\u003ccode\u003e6c789ff\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5997825635dc9c4e81434894607ef2e3887e0ea3\"\u003e\u003ccode\u003e5997825\u003c/code\u003e\u003c/a\u003e docs: clarify preserve-caught-error known limitation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21294\"\u003e#21294\u003c/a\u003e) (Akinyemi Toluwalase)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ac74e37322ebf122ada676f153dc55c81f3caab0\"\u003e\u003ccode\u003eac74e37\u003c/code\u003e\u003c/a\u003e chore: Add AGENTS.md with AI disclosure requirements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21221\"\u003e#21221\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c8326608e710e670beaf982501aed80ea104919a\"\u003e\u003ccode\u003ec832660\u003c/code\u003e\u003c/a\u003e chore: Upgrade Stylelint to the latest version in docs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21245\"\u003e#21245\u003c/a\u003e) (Jung Hyeon Jun)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9f88fcccd965fdc162b89c4615dd4018e3cabdf\"\u003e\u003ccode\u003ef9f88fc\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21308\"\u003e#21308\u003c/a\u003e) (ESLint Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fc81076a5b8145360654d81cbc130cf7d25dca77\"\u003e\u003ccode\u003efc81076\u003c/code\u003e\u003c/a\u003e ci: add more types integration tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20395\"\u003e#20395\u003c/a\u003e) (Nitin Kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.10.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/264b4346d1963701df0c398b4aeb2f6e8b2af93e\"\u003e\u003ccode\u003e264b434\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003ed\u003c/code\u003e and \u003ccode\u003ev\u003c/code\u003e flags to \u003ccode\u003eno-unexpected-multiline\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21305\"\u003e#21305\u003c/a\u003e) (Gihyeon Jeong / 정기현)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6cc6c592f30901345d94ef75e0d42c1894fae6c\"\u003e\u003ccode\u003ec6cc6c5\u003c/code\u003e\u003c/a\u003e feat: check \u003ccode\u003eObject.prototype\u003c/code\u003e property names in \u003ccode\u003enew-cap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21269\"\u003e#21269\u003c/a\u003e) (crimsonjay0)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5661fa65fde9fd4c14f0b730e3cee6a42fc657c1\"\u003e\u003ccode\u003e5661fa6\u003c/code\u003e\u003c/a\u003e feat: no-extra-bind false negatives with class fields and static blocks (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21260\"\u003e#21260\u003c/a\u003e) (synthex-byte)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bb47dc6da2399a8f76c0c0c3273e6bc314c480e5\"\u003e\u003ccode\u003ebb47dc6\u003c/code\u003e\u003c/a\u003e fix: update dependency file-entry-cache to v11 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20801\"\u003e#20801\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/427ac0a014066c36aa57fa8fa9af20fd9fb591e1\"\u003e\u003ccode\u003e427ac0a\u003c/code\u003e\u003c/a\u003e fix: use format strings in debug calls (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21247\"\u003e#21247\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9d8153223dbf47b9aecdc1474202aaee4845f146\"\u003e\u003ccode\u003e9d81532\u003c/code\u003e\u003c/a\u003e fix: support \u003ccode\u003e__proto__\u003c/code\u003e in \u003ccode\u003e/* exported */\u003c/code\u003e comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21261\"\u003e#21261\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/87e0a082438264ad90b87fd74165ab4fd90f63ef\"\u003e\u003ccode\u003e87e0a08\u003c/code\u003e\u003c/a\u003e fix: prefer-object-has-own autofix breaks when Object is shadowed (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21282\"\u003e#21282\u003c/a\u003e) (김채영)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8e2cb142217f2efee1d10dcc02bfb75145ae775d\"\u003e\u003ccode\u003e8e2cb14\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003enew-cap\u003c/code\u003e false positive for \u003ccode\u003eUTC\u003c/code\u003e calls with \u003ccode\u003eproperties: false\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21275\"\u003e#21275\u003c/a\u003e) (Pixel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9f4a364ab0ade048dfce1f37792b1d461d866e55\"\u003e\u003ccode\u003e9f4a364\u003c/code\u003e\u003c/a\u003e fix: Ignore static imports in no-unreachable (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21276\"\u003e#21276\u003c/a\u003e) (Taha Kotil)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2417cad57d7d1bc4cf3ecf0f0575cfb10ff2011c\"\u003e\u003ccode\u003e2417cad\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cecb8a0a2348070abf72321965d41919c7cc626\"\u003e\u003ccode\u003e9cecb8a\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003e\\c\u003c/code\u003e control letter escapes in no-control-regex (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21286\"\u003e#21286\u003c/a\u003e) (한국)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8724829f69f8ed80c876e3a5a017da199ce78739\"\u003e\u003ccode\u003e8724829\u003c/code\u003e\u003c/a\u003e docs: update compat table links (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21263\"\u003e#21263\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5634542be580750ffb1a5766470f9e9c72719696\"\u003e\u003ccode\u003e5634542\u003c/code\u003e\u003c/a\u003e docs: Clarify eqeqeq suggestion behavior (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21256\"\u003e#21256\u003c/a\u003e) (Müslüm Yılmaz)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b3d876b46083d67899eb1d9613118c1c583632a2\"\u003e\u003ccode\u003eb3d876b\u003c/code\u003e\u003c/a\u003e chore: disable npm audit in ecosystem tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21306\"\u003e#21306\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1696682791661c13167eb905da2f38d1b8f4a3bf\"\u003e\u003ccode\u003e1696682\u003c/code\u003e\u003c/a\u003e ci: restore EMFILE test on Node.js 26 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21297\"\u003e#21297\u003c/a\u003e) (Marry (Subin Yang))\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3c0b7c6e1fe2dec778b97a996018126f22d437ae\"\u003e\u003ccode\u003e3c0b7c6\u003c/code\u003e\u003c/a\u003e 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/321f0a70dd908ed461b11142e17fbdc0c0f1f198\"\u003e\u003ccode\u003e321f0a7\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/520dd77a35922fb537e2dbfb3c839d047acbdd68\"\u003e\u003ccode\u003e520dd77\u003c/code\u003e\u003c/a\u003e perf: Implement fast paths in critical areas (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21210\"\u003e#21210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ecfdc5319f83580cf3b81beab7e936015fef2fa\"\u003e\u003ccode\u003e9ecfdc5\u003c/code\u003e\u003c/a\u003e docs: note that --cache can serve stale results for cross-file rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21312\"\u003e#21312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/92086c87e042413a3d0363d8fc3fbb11db98d06a\"\u003e\u003ccode\u003e92086c8\u003c/code\u003e\u003c/a\u003e test: update \u003ccode\u003eEMFILE\u003c/code\u003e error generation for Node.js 26.9.0 compatibility (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21330\"\u003e#21330\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9ac7eb60525ec768c2fdc6699e5a292aa913ce9e\"\u003e\u003ccode\u003e9ac7eb6\u003c/code\u003e\u003c/a\u003e chore: update github/codeql-action action to v4.38.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21331\"\u003e#21331\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22b09f54f67a9512d4cea39ddbab9b6973d5c476\"\u003e\u003ccode\u003e22b09f5\u003c/code\u003e\u003c/a\u003e fix: ignore \u003ccode\u003e__proto__\u003c/code\u003e properties in \u003ccode\u003eprefer-object-spread\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21311\"\u003e#21311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24310e3a0e22b3c086ca402f88448676f2e1cfcd\"\u003e\u003ccode\u003e24310e3\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21324\"\u003e#21324\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d136fa4b0d2dd4a9e738ca1c012cc674d1441127\"\u003e\u003ccode\u003ed136fa4\u003c/code\u003e\u003c/a\u003e feat: object-shorthand handle quoted properties for \u003ccode\u003eignoreConstructors\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21\"\u003e#21\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/45ad79e54a39b54b4ce8eb47e612bd2f72a7a651\"\u003e\u003ccode\u003e45ad79e\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.10 to 6.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/21318\"\u003e#21318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.9.1...v10.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 17.24.0 to 18.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.3.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev18.2.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.2...v18.3.0\"\u003e18.3.0\u003c/a\u003e (2026-08-08)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e8d9bd05\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003ed7afbed\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ehandle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003ea6b3ce2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-unsupported-features:\u003c/strong\u003e classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003eb8e39c5\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e8cae1af\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e4138d4e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003ea6cd6a5\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧹 Chores\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003erename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003ed499fc1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.1...v18.2.2\"\u003e18.2.2\u003c/a\u003e (2026-07-11)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIgnore HTTP imports in no-missing-import (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/547\"\u003e#547\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3ff929dc6145055b97f147b2ee371a831f44b73a\"\u003e3ff929d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eno-callback-literal:\u003c/strong\u003e report object, array, and template literals (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/552\"\u003e#552\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/dca23307d9af2cb07c13192e5bf9192ff7ff8981\"\u003edca2330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.2.0...v18.2.1\"\u003e18.2.1\u003c/a\u003e (2026-06-26)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eensure types have valid syntax (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/544\"\u003e#544\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a0d78197665a0587c3f45f171835eaa8d18c7fc9\"\u003ea0d7819\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.1.0...v18.2.0\"\u003e18.2.0\u003c/a\u003e (2026-06-25)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd \u003ccode\u003emodule.exports\u003c/code\u003e for \u003ccode\u003erequire(esm)\u003c/code\u003e interop (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/542\"\u003e#542\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/04c99dfafa53482dcfb307d966f3c9996e707011\"\u003e04c99df\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.0.1...v18.1.0\"\u003e18.1.0\u003c/a\u003e (2026-06-08)\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/6a9980a999defd64664a3b9626b6a9f2f67fac67\"\u003e\u003ccode\u003e6a9980a\u003c/code\u003e\u003c/a\u003e chore(master): release 18.3.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/564\"\u003e#564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d7afbedc55e1a7eb5e4738166e289a7ed304b467\"\u003e\u003ccode\u003ed7afbed\u003c/code\u003e\u003c/a\u003e feat: implement \u003ccode\u003eprefer-import/assert-strict\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/d499fc1129df5a35042fe44008b002fdfe7731d6\"\u003e\u003ccode\u003ed499fc1\u003c/code\u003e\u003c/a\u003e chore: rename default export \u003ccode\u003en\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/556\"\u003e#556\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8d9bd051b5a2cd0236057e83cd1f7cbce9880759\"\u003e\u003ccode\u003e8d9bd05\u003c/code\u003e\u003c/a\u003e feat: add prefer-process-get-builtin-module rule (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/554\"\u003e#554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/8cae1af784976b0db669488119bbaa70025c55b7\"\u003e\u003ccode\u003e8cae1af\u003c/code\u003e\u003c/a\u003e fix: support brace expansion and extglobs in package files (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/558\"\u003e#558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6b3ce294511ccab4e2a8a97fddd3a307c7c5be8\"\u003e\u003ccode\u003ea6b3ce2\u003c/code\u003e\u003c/a\u003e fix: handle import.meta paths in no-path-concat (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/559\"\u003e#559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/b8e39c5c9579af0c323d0cf371f04d4dc8a1fbf9\"\u003e\u003ccode\u003eb8e39c5\u003c/code\u003e\u003c/a\u003e fix(no-unsupported-features): classify util.styleText as experimental (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/560\"\u003e#560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/a6cd6a59efbd72c375bc6e00fd94d21e3097ebb1\"\u003e\u003ccode\u003ea6cd6a5\u003c/code\u003e\u003c/a\u003e docs: update outdated http links to https in docs/rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/4138d4e85e23f0562a8b410698a3ca02dbccd8e7\"\u003e\u003ccode\u003e4138d4e\u003c/code\u003e\u003c/a\u003e docs: add eslint-plugin-node migration guide (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/561\"\u003e#561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/0c31d00a050825b520dc25767ac2cf1707c9383e\"\u003e\u003ccode\u003e0c31d00\u003c/code\u003e\u003c/a\u003e chore(master): release 18.2.2 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/548\"\u003e#548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v17.24.0...v18.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.34.0 to 6.38.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.38.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInclude co-authors in docs contributor list (0c334100df59d89a512ad598ec50e7f62f6da0c3)\u003c/li\u003e\n\u003cli\u003eFilter bots and agents from docs contributors (617f70d8179c6b8668ca41fe5df77ced5e2b37c0)\u003c/li\u003e\n\u003cli\u003eUpdate Eve plugin conventions (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2049\"\u003e#2049\u003c/a\u003e) (260dbb91a85f3a3bc2727e8f255d73df3737552c) - thanks \u003ca href=\"https://github.com/matchai\"\u003e\u003ccode\u003e@​matchai\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eargs\u003c/code\u003e example to that doc page (50b271b98fc930a05a3b045a2f691486f9f06528)\u003c/li\u003e\n\u003cli\u003eAdd Turborepo plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2055\"\u003e#2055\u003c/a\u003e) (e49d3db05f1d69ce7db3efcb8467a4af63c27379) - thanks \u003ca href=\"https://github.com/changbaebang\"\u003e\u003ccode\u003e@​changbaebang\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport-x/*\u003c/code\u003e settings in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2050\"\u003e#2050\u003c/a\u003e) (1a34cf82a3d6a1202717ef910bedba55838e9dd9) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eResolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e) (9b5c5f60468c8a92a3e74adca5c0931f008677af) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eSupport oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e) (a149a98219bb14b15f446fc5f8c4f815e28b2183) - thanks \u003ca href=\"https://github.com/matthewnitschke-wk\"\u003e\u003ccode\u003e@​matthewnitschke-wk\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e) (8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded) - thanks \u003ca href=\"https://github.com/vdavid\"\u003e\u003ccode\u003e@​vdavid\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e) (8a8805e48945863248429d18b7f6c4e4b7dc9ebd) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFlag unused member tags in tagged enums and namespaces (584e53ff3e0846fbfe04fa5b5bfefe2420576a34)\u003c/li\u003e\n\u003cli\u003efeat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e) (34dbccf25359f9e9fefe9d0be6ef2ec0252223cc) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eRefactor and separate concerns w/ new typescript-content-mapper plugin (11e94509bd0f350d747facf4003fc5b248d1b02d)\u003c/li\u003e\n\u003cli\u003eResolve mdx content mapper providerImportSource (7b5825117f97f2f87b7141509a254f88d0957cf7)\u003c/li\u003e\n\u003cli\u003eFix config → entry in plop plugin (25a380c9e1165b76583d69b48b5fa7cdf5db0ae2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.37.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(graphql-codegen): mark near-operation-file outputs as entries, not the documents directory (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2048\"\u003e#2048\u003c/a\u003e) (06a68fcf99a90e559daeb0b8fb2d24e173124774) - thanks \u003ca href=\"https://github.com/RobHannay\"\u003e\u003ccode\u003e@​RobHannay\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: enable JSX in the config loader (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1959\"\u003e#1959\u003c/a\u003e) (5b21dc9192f773613d1c5db8edf35f0a68820268) - thanks \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eMatch binaries only to their actual dependency providers (c5bdb69ccbcb7e1056233f346d0ada3495d1013d)\u003c/li\u003e\n\u003cli\u003ePreserve executable references across package manager commands (54af171638db22f5d903faae05c37c2ea6adc869)\u003c/li\u003e\n\u003cli\u003eCorrect binary provider metadata in Relay fixtures (e67dfcb96d055c27be9c8601e077656855bb632b)\u003c/li\u003e\n\u003cli\u003eSeparate shell binary expectations from reporting exemptions (resolve \u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2022\"\u003e#2022\u003c/a\u003e) (c1d7d75a3529d9faff7f4c0df11dd0ca1bdfb149)\u003c/li\u003e\n\u003cli\u003eRespect npx no-install flags before the executable (4237010c9a834eb8b04f4a528c76d10a5c38ee98)\u003c/li\u003e\n\u003cli\u003eUpdate dependencies (038ea179f7d6bf7ca43bc5daf553a68b13a9067c)\u003c/li\u003e\n\u003cli\u003eRemove npm auth check now that's in release-it (4aaf77c58004ac64063a1982b98e53107c2ebe93)\u003c/li\u003e\n\u003cli\u003eFix --format name resolution in the ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2046\"\u003e#2046\u003c/a\u003e) (1269e98bb700384811fadc124d69ea720832037e) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 6.36.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e@​tailwindcss/webpack\u003c/code\u003e as Tailwind plugin enabler (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2027\"\u003e#2027\u003c/a\u003e) (b5ac0cf734dda3c6c6c51c817981dfc558b7c582) - thanks \u003ca href=\"https://github.com/igas\"\u003e\u003ccode\u003e@​igas\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix Next.js Turbopack loader dependencies (23419b4edfd48796dd484fa880e1bad49a043d2e)\u003c/li\u003e\n\u003cli\u003eExplain ambiguous star exports in traces (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2025\"\u003e#2025\u003c/a\u003e) (3c2c1a53f9c2b7ff3057a4e46761791979e0b09c) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFix eslintrc \u003ccode\u003eparserOptions.parser\u003c/code\u003e handling in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2028\"\u003e#2028\u003c/a\u003e) (c79463cec81d09518eda325ec00e6f12327dea8d) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(compilers): require word boundary around import keyword (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2029\"\u003e#2029\u003c/a\u003e) (68bbe51c39b564022b63942bc83cb570778cca00) - thanks \u003ca href=\"https://github.com/thanadolps\"\u003e\u003ccode\u003e@​thanadolps\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: recover from corrupt cache file (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2034\"\u003e#2034\u003c/a\u003e) (30ff7568c84e0a6731ca634a52314228d23d1a2b) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: fix trailing comma on dependency removal (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2033\"\u003e#2033\u003c/a\u003e) (adfaf4f78878b6d55b0939a92d70a1fbb0ae1240) - thanks \u003ca href=\"https://github.com/gioboa\"\u003e\u003ccode\u003e@​gioboa\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eDocument built-in compiler scope (a05e155276dad4ead16992580d17572cebf045e7)\u003c/li\u003e\n\u003cli\u003eAdd babel, khan and oxc to projects and optimize svgs (1c26560b98bc3109e93d15761d02f089213bfb6c)\u003c/li\u003e\n\u003cli\u003eAdd section to test preview packages \u0026amp; extension (d911c18385f0aa41f53653a2a15cc90a1e0251b8)\u003c/li\u003e\n\u003cli\u003eFix shared info/exclude handling in linked Git worktrees (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2037\"\u003e#2037\u003c/a\u003e) (c1f18d5a7d25fc5a614747bbcbd62d043457eb48) - thanks \u003ca href=\"https://github.com/kenfdev\"\u003e\u003ccode\u003e@​kenfdev\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eShard Node specs on Windows and enable Bun test parallelism (66e966b6edec4460b40b05847fefa9f90ee69068)\u003c/li\u003e\n\u003cli\u003eAdd Varlock plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2000\"\u003e#2000\u003c/a\u003e) (e4fbf46acff08e78370e72b142e795bd81f28561) - thanks \u003ca href=\"https://github.com/Joehoel\"\u003e\u003ccode\u003e@​Joehoel\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eApply NODE_OPTIONS inputs to package manager binaries (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2038\"\u003e#2038\u003c/a\u003e) (c8df8a28e9a19484efe7097f984abc0c6556aff5) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle array form of \u003ccode\u003eimport/resolver\u003c/code\u003e setting in ESLint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2041\"\u003e#2041\u003c/a\u003e) (a80d386a80fdafc89c610d4887ec82184ac178db) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(node): add valueless Node CLI flags to boolean options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2042\"\u003e#2042\u003c/a\u003e) (4c6768501f7115a894d7ece9e5c32090b684cc6f) - thanks \u003ca href=\"https://github.com/shoutoutuoadi325\"\u003e\u003ccode\u003e@​shoutoutuoadi325\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(typedoc): accept string form of plugin and theme options (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2043\"\u003e#2043\u003c/a\u003e) (ce387b05c8f136546e860ec73e29557563c63afa) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd textlint plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2039\"\u003e#2039\u003c/a\u003e) (532dab595fc9a910e320418dc0390222fb2d7478) - thanks \u003ca href=\"https://github.com/anandghegde\"\u003e\u003ccode\u003e@​anandghegde\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: Correctly resolve Vitest setupFiles from nested configs (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2040\"\u003e#2040\u003c/a\u003e) (84a494334e125d229dc865893b21d69d0d201e85) - thanks \u003ca href=\"https://github.com/CruseCtrl\"\u003e\u003ccode\u003e@​CruseCtrl\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd n8n to projects (3f756a7e70c4164d57a7dbbd58f3604afe4043e2)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/c0e42f83bda7664065465f2f3faca7af97c988ac\"\u003e\u003ccode\u003ec0e42f8\u003c/code\u003e\u003c/a\u003e Release knip@6.38.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/25a380c9e1165b76583d69b48b5fa7cdf5db0ae2\"\u003e\u003ccode\u003e25a380c\u003c/code\u003e\u003c/a\u003e Fix config → entry in plop plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/7b5825117f97f2f87b7141509a254f88d0957cf7\"\u003e\u003ccode\u003e7b58251\u003c/code\u003e\u003c/a\u003e Resolve mdx content mapper providerImportSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/11e94509bd0f350d747facf4003fc5b248d1b02d\"\u003e\u003ccode\u003e11e9450\u003c/code\u003e\u003c/a\u003e Refactor and separate concerns w/ new typescript-content-mapper plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/34dbccf25359f9e9fefe9d0be6ef2ec0252223cc\"\u003e\u003ccode\u003e34dbccf\u003c/code\u003e\u003c/a\u003e feat: resolve MDX content mapper remarkPlugins (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2060\"\u003e#2060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/584e53ff3e0846fbfe04fa5b5bfefe2420576a34\"\u003e\u003ccode\u003e584e53f\u003c/code\u003e\u003c/a\u003e Flag unused member tags in tagged enums and namespaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8a8805e48945863248429d18b7f6c4e4b7dc9ebd\"\u003e\u003ccode\u003e8a8805e\u003c/code\u003e\u003c/a\u003e Fix tag hints for enum and namespace members (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2061\"\u003e#2061\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/8b0c85076bf3dce15ef5f3c0c4e58bfefdf59ded\"\u003e\u003ccode\u003e8b0c850\u003c/code\u003e\u003c/a\u003e Fix import.meta handling in built-in compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2059\"\u003e#2059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/a149a98219bb14b15f446fc5f8c4f815e28b2183\"\u003e\u003ccode\u003ea149a98\u003c/code\u003e\u003c/a\u003e Support oxlint extends (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2054\"\u003e#2054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/9b5c5f60468c8a92a3e74adca5c0931f008677af\"\u003e\u003ccode\u003e9b5c5f6\u003c/code\u003e\u003c/a\u003e Resolve file option in Mocha configuration files (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2051\"\u003e#2051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.38.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.9.6 to 3.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.8/CHANGELOG.md#398\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular 22.2\u003c/li\u003e\n\u003cli\u003eFix regressions in v3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.7/CHANGELOG.md#397\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.8\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.7...3.9.8\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\nIf `module` is not a [`WebAssembly.Module`](https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.7 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\u003c/p\u003e\n\u003cp\u003e{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.7\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.6...3.9.7\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Prevent indentation drift in list-item code blocks (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19647\"\u003e#19647\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19990\"\u003e#19990\u003c/a\u003e by \u003ca href=\"https://github.com/Austin1serb\"\u003e\u003ccode\u003e@​Austin1serb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- [x] short first line.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/itsDaiton/nebula-chat/pull/454","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsDaiton%2Fnebula-chat/issues/454","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/454/packages"}},{"old_version":"18.3.0","new_version":"18.4.0","update_type":"minor","path":null,"pr_created_at":"2026-10-05T09:41:32.000Z","version_change":"18.3.0 → 18.4.0","issue":{"uuid":"5709776262","node_id":"PR_kwDORCLmJM8AAAABGrRmDg","number":6049,"state":"closed","title":"chore(deps): bump the root-dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-10-07T00:31:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-10-05T09:41:32.000Z","updated_at":"2026-10-07T00:31:54.000Z","time_to_close":139820,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"root-dependencies","update_count":12,"packages":[{"name":"@types/node","old_version":"26.6.3","new_version":"26.6.4","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.70.1","new_version":"8.71.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.70.1","new_version":"8.71.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"dependency-cruiser","old_version":"18.4.0","new_version":"18.5.0","repository_url":"https://github.com/sverweij/dependency-cruiser"},{"name":"eslint-plugin-n","old_version":"18.3.0","new_version":"18.4.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"globals","old_version":"17.12.0","new_version":"17.13.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jscpd","old_version":"5.3.2","new_version":"5.4.0","repository_url":"https://github.com/kucherenko/jscpd"},{"name":"knip","old_version":"6.38.0","new_version":"6.39.0","repository_url":"https://github.com/webpro-nl/knip"},{"name":"lefthook","old_version":"2.1.14","new_version":"2.1.16","repository_url":"https://github.com/evilmartians/lefthook"},{"name":"prettier","old_version":"3.8.4","new_version":"3.9.9","repository_url":"https://github.com/prettier/prettier"},{"name":"turbo","old_version":"2.11.4","new_version":"2.11.6","repository_url":"https://github.com/vercel/turborepo"},{"name":"zod","old_version":"4.4.3","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"}],"path":null,"ecosystem":"npm"},"body":"Bumps the root-dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.3` | `26.6.4` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.70.1` | `8.71.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.70.1` | `8.71.0` |\n| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | `18.4.0` | `18.5.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.3.0` | `18.4.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.12.0` | `17.13.0` |\n| [jscpd](https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd) | `5.3.2` | `5.4.0` |\n| [knip](https://github.com/webpro-nl/knip/tree/HEAD/packages/knip) | `6.38.0` | `6.39.0` |\n| [lefthook](https://github.com/evilmartians/lefthook) | `2.1.14` | `2.1.16` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.4` | `3.9.9` |\n| [turbo](https://github.com/vercel/turborepo) | `2.11.4` | `2.11.6` |\n| [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.5` |\n\n\nUpdates `@types/node` from 26.6.3 to 26.6.4\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.70.1 to 8.71.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/eslint-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.0\u003c/h2\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12732\"\u003e#12732\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 [switch-exhaustiveness-check] always sort literal cases in stable order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12885\"\u003e#12885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d\"\u003e7fce9127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] specialize generic assertion report message (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12832\"\u003e#12832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle a return outside of any function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12912\"\u003e#12912\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFatih Çakır \u003ca href=\"https://github.com/wfatih\"\u003e\u003ccode\u003e@​wfatih\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eZamiell \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e@​typescript-eslint/eslint-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12732\"\u003e#12732\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle a return outside of any function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12912\"\u003e#12912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] specialize generic assertion report message (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12832\"\u003e#12832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d\"\u003e7fce9127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [switch-exhaustiveness-check] always sort literal cases in stable order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12885\"\u003e#12885\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFatih Çakır \u003ca href=\"https://github.com/wfatih\"\u003e\u003ccode\u003e@​wfatih\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eZamiell \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8695664c5ee3fbb8fd76907fc45e148579cc3162\"\u003e\u003ccode\u003e8695664\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/99d759a4eaff6a91356a0dd9c04b4bac13b1c96f\"\u003e\u003ccode\u003e99d759a\u003c/code\u003e\u003c/a\u003e feat(eslint-plugin): [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12732\"\u003e#12732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ae3ac15dbcc42a6ccafb032d260e438e57768a46\"\u003e\u003ccode\u003eae3ac15\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): clarify checkTypePredicates assumptions (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12378\"\u003e#12378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/33824c112228444e76159ecd317366c8067e40e9\"\u003e\u003ccode\u003e33824c1\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-misused-promises] handle a return outside of any func...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7e25db3f642f3e995504dae20a4ff0bbd29e7c2b\"\u003e\u003ccode\u003e7e25db3\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unnecessary-type-assertion] specialize generic assert...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8d7ab8806e01ddebaa60efc3181dfc13ccfd2051\"\u003e\u003ccode\u003e8d7ab88\u003c/code\u003e\u003c/a\u003e test: order union constituents stably in RuleTester tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127df036681d6f80c0bc45b585150943cc6\"\u003e\u003ccode\u003e7fce912\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ce700161532f8dad7bf4eaaa2ac993b031d89691\"\u003e\u003ccode\u003ece70016\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [switch-exhaustiveness-check] always sort literal cases i...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.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.70.1 to 8.71.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e@​typescript-eslint/parser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.71.0\u003c/h2\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-enum-assignment] add rule (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12732\"\u003e#12732\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 [switch-exhaustiveness-check] always sort literal cases in stable order (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12885\"\u003e#12885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [unbound-method] respect \u003ccode\u003ethis: void\u003c/code\u003e on class properties (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/7fce9127d\"\u003e7fce9127d\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] specialize generic assertion report message (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12832\"\u003e#12832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-misused-promises] handle a return outside of any function (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12912\"\u003e#12912\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFatih Çakır \u003ca href=\"https://github.com/wfatih\"\u003e\u003ccode\u003e@​wfatih\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eJosh Goldberg ✨\u003c/li\u003e\n\u003cli\u003eZamiell \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e@​typescript-eslint/parser's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.71.0 (2026-09-28)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8695664c5ee3fbb8fd76907fc45e148579cc3162\"\u003e\u003ccode\u003e8695664\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.71.0\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dependency-cruiser` from 18.4.0 to 18.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sverweij/dependency-cruiser/releases\"\u003edependency-cruiser's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.5.0\u003c/h2\u003e\n\u003ch2\u003e✨ features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e25ac2f7f feat(extract/tsc): adds support for imports inside module and namespace blocks (\u003ca href=\"https://redirect.github.com/sverweij/dependency-cruiser/issues/1095\"\u003e#1095\u003c/a\u003e) - thanks to \u003ca href=\"https://github.com/arpitjain099\"\u003e\u003ccode\u003e@​arpitjain099\u003c/code\u003e\u003c/a\u003e for detecting the missing feature AND making the PR\u003c/li\u003e\n\u003cli\u003e918d9193 feat(report/markdown): adds baseline stale table (\u003ca href=\"https://redirect.github.com/sverweij/dependency-cruiser/issues/1102\"\u003e#1102\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👷 maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e10860b9a build(npm): updates external dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/0c973139131631d0b379f207d83285ddc464a881\"\u003e\u003ccode\u003e0c97313\u003c/code\u003e\u003c/a\u003e 18.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/10860b9a30710e5da452a90c057ef7a76f1fbb91\"\u003e\u003ccode\u003e10860b9\u003c/code\u003e\u003c/a\u003e build(npm): updates external dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/25ac2f7f8e403d43e0657b6d637568d149fa613a\"\u003e\u003ccode\u003e25ac2f7\u003c/code\u003e\u003c/a\u003e feat(extract/tsc): adds support for imports inside module and namespace block...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sverweij/dependency-cruiser/commit/918d9193edfae3fe1fb76cfe3d06cc0624539b91\"\u003e\u003ccode\u003e918d919\u003c/code\u003e\u003c/a\u003e feat(report/markdown): adds baseline stale table (\u003ca href=\"https://redirect.github.com/sverweij/dependency-cruiser/issues/1102\"\u003e#1102\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sverweij/dependency-cruiser/compare/v18.4.0...v18.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-n` from 18.3.0 to 18.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/releases\"\u003eeslint-plugin-n's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev18.4.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md\"\u003eeslint-plugin-n's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003e18.4.0\u003c/a\u003e (2026-09-26)\u003c/h2\u003e\n\u003ch3\u003e🌟 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eno-extraneous:\u003c/strong\u003e Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e3aae430\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e) (\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e569153f\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3c257fd94f1f94b846b14421cf98afcbadbf5d9b\"\u003e\u003ccode\u003e3c257fd\u003c/code\u003e\u003c/a\u003e chore(master): release 18.4.0 (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/568\"\u003e#568\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/3aae4304a49052f4fb2cd8e4baff6489aa095c00\"\u003e\u003ccode\u003e3aae430\u003c/code\u003e\u003c/a\u003e feat(no-extraneous): Support pnpm workspaces in no-extraneous rules (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/569\"\u003e#569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/commit/569153f4406597bf1c8e1993430f0f067158bbec\"\u003e\u003ccode\u003e569153f\u003c/code\u003e\u003c/a\u003e docs: fix broken documentation links (\u003ca href=\"https://redirect.github.com/eslint-community/eslint-plugin-n/issues/567\"\u003e#567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/eslint-community/eslint-plugin-n/compare/v18.3.0...v18.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.12.0 to 17.13.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.13.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)  b007369\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/ce512bc1949f918ad6c17cc864a63ab6b077764f\"\u003e\u003ccode\u003ece512bc\u003c/code\u003e\u003c/a\u003e 17.13.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/b0073695ad35ad0cb34504f3152a20a8411306e7\"\u003e\u003ccode\u003eb007369\u003c/code\u003e\u003c/a\u003e Update globals (2026-10-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/354\"\u003e#354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/16cb1fe4a57062e8b3844b0c74b4d554f53af803\"\u003e\u003ccode\u003e16cb1fe\u003c/code\u003e\u003c/a\u003e Meta tweaks\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.12.0...v17.13.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jscpd` from 5.3.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kucherenko/jscpd/releases\"\u003ejscpd's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease v5.4.0\u003c/h2\u003e\n\u003ch3\u003eNew Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eA language server: \u003ccode\u003ejscpd --lsp\u003c/code\u003e.\u003c/strong\u003e An editor starts jscpd for a workspace, and the files you edit get what jscpd finds as diagnostics that follow the text in the editor, saved or not. After 300 ms without typing, the server tokenizes the file again from the buffer and searches its detection pool again from the tokens it keeps for the rest of the project.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe server runs five analyses: clones (exact, renamed and near-miss copies), similar functions (\u003ccode\u003e--similarity\u003c/code\u003e), semantic clones (\u003ccode\u003e--semantic\u003c/code\u003e), dead code (\u003ccode\u003e--dead-code\u003c/code\u003e) and complexity, with a limit of 15 per function and the complex-file bar of the health score per file. Only clones are on unless you turn the others on, with \u003ccode\u003e--lsp-analyses\u003c/code\u003e, with the \u003ccode\u003elsp\u003c/code\u003e section of \u003ccode\u003e.jscpd.json\u003c/code\u003e, or from the editor's settings, and each place wins over the one before it.\u003c/li\u003e\n\u003cli\u003eThe code of each diagnostic is the id of its rule, the one the SARIF reporters write for clones and dead code. A clone is a warning, as in SARIF, and \u003ccode\u003elsp.clones.warningTokens\u003c/code\u003e lowers the smaller ones to information. Dead code is a hint that editors fade.\u003c/li\u003e\n\u003cli\u003eEach \u003ccode\u003e.jscpd.json\u003c/code\u003e in the workspace makes its folder a project of its own, and clones are found within a project. A workspace with no config is one project across all its folders.\u003c/li\u003e\n\u003cli\u003eA clone comes with \u0026quot;Go to the other copy\u0026quot; and \u0026quot;Ignore this clone\u0026quot;, which wraps the fragment in \u003ccode\u003ejscpd:ignore-start\u003c/code\u003e and \u003ccode\u003ejscpd:ignore-end\u003c/code\u003e comments. Dead code and semantic clones run in the background after a save, and the progress of each run ends with what it found, such as \u003ccode\u003e94 files, 13 clones\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eEditor clients can ask for the whole project's clones, semantic pairs, dead code, complexity and statistics with custom requests.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/docs/editors.md\"\u003edocs/editors.md\u003c/a\u003e has the setup for Neovim, Helix, Sublime Text, Emacs and JetBrains IDEs, and \u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/lsp-demo/README.md\"\u003e\u003ccode\u003efixtures/lsp-demo\u003c/code\u003e\u003c/a\u003e is a project that shows each analysis. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/issues/1120\"\u003e#1120\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1121\"\u003e#1121\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1122\"\u003e#1122\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eComparing two codebases, experimental: \u003ccode\u003e--compare\u003c/code\u003e.\u003c/strong\u003e \u003ccode\u003ejscpd --compare source target\u003c/code\u003e pairs the functions of two folders with the \u003ccode\u003e--semantic\u003c/code\u003e model and reports which functions of each side have a counterpart in the other. During a port to another language or platform, that is what is still to port; for two implementations of one app, it is what only one of them has.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA function pairs with its counterpart when the model finds them each other's closest match. A short function the model cannot place pairs by name when the names match once case and underscores are ignored and the code is similar enough. Every pair has its similarity and a level, \u003ccode\u003ehigh\u003c/code\u003e, \u003ccode\u003emedium\u003c/code\u003e or \u003ccode\u003elow\u003c/code\u003e, and the report lists the pairs under other names on their own.\u003c/li\u003e\n\u003cli\u003eTests and code are measured apart, and a test pairs only with a test. jscpd tells a test by the conventions of its language, such as \u003ccode\u003e*_test.go\u003c/code\u003e, \u003ccode\u003etest_*.py\u003c/code\u003e, \u003ccode\u003e*.test.ts\u003c/code\u003e or Rust's \u003ccode\u003e#[cfg(test)]\u003c/code\u003e, and JavaScript test cases take part under their titles.\u003c/li\u003e\n\u003cli\u003eThe console, JSON and Markdown reporters print the totals per side and per file, the functions with no counterpart and the pairs. \u003ccode\u003e-r html\u003c/code\u003e writes a migration map: both sides as dependency graphs with the pairs bridging them, a table of the same pairs, and the functions ready to port, whose callees all have a counterpart already. The JSON report lists those as \u003ccode\u003ereadyToPort\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eOn the Java and Python versions of nayuki/QR-Code-generator, it paired 30 of 41 Java functions with no wrong pair. \u003ca href=\"https://github.com/kucherenko/jscpd/tree/HEAD/rust/jscpd/blob/fixtures/compare-demo/README.md\"\u003e\u003ccode\u003efixtures/compare-demo\u003c/code\u003e\u003c/a\u003e is a runnable example. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1115\"\u003e#1115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1118\"\u003e#1118\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1119\"\u003e#1119\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eAgent skills for ports.\u003c/strong\u003e \u003ccode\u003ecompare-codebases\u003c/code\u003e explains how \u003ccode\u003e--compare\u003c/code\u003e pairs functions and how to check a comparison. \u003ccode\u003ecode-migration\u003c/code\u003e ports a codebase tests first, binds tests to code by coverage, and takes the next function to port from \u003ccode\u003e--compare\u003c/code\u003e. Install them with \u003ccode\u003enpx skills add kucherenko/jscpd --skill \u0026lt;name\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1115\"\u003e#1115\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1117\"\u003e#1117\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ePairs from \u003ccode\u003e--similarity\u003c/code\u003e have a SARIF rule of their own, \u003ccode\u003ejscpd/similar-function\u003c/code\u003e.\u003c/strong\u003e The \u003ccode\u003esimilar\u003c/code\u003e kind comes from two mechanisms that find different things, and SARIF filed both under \u003ccode\u003ejscpd/similar-code\u003c/code\u003e. That rule now keeps the copies merged across a gap (\u003ccode\u003e--max-gap-lines\u003c/code\u003e), and Code Climate's \u003ccode\u003echeck_name\u003c/code\u003e follows. GitHub code scanning matches alerts by rule, so the first upload of \u003ccode\u003e--similarity\u003c/code\u003e results after the update closes the old alerts and opens the same findings under the new rule. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1121\"\u003e#1121\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eA failed \u003ccode\u003ecargo publish\u003c/code\u003e now fails the release job instead of passing it. (\u003ca href=\"https://redirect.github.com/kucherenko/jscpd/pull/1116\"\u003e#1116\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePublished Packages\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebasta@0.3.0\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-core@0.1.20\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-finder@0.1.20\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-reporter@0.1.21\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-semantic@0.1.1\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd-tokenizer@0.1.19\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd@5.4.0\u003c/code\u003e on crates.io\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecpd@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-darwin-arm64@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-darwin-x64@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-x64-gnu@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-arm64-gnu@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-x64-musl@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-linux-arm64-musl@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-windows-x64-msvc@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd-windows-arm64-msvc@5.4.0\u003c/code\u003e on npm\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ejscpd==5.4.0\u003c/code\u003e on PyPI\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/b6f832c62cf02b574ea9cf24e013cfeb17366a35\"\u003e\u003ccode\u003eb6f832c\u003c/code\u003e\u003c/a\u003e release: cpd-v5.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kucherenko/jscpd/commit/b0185564dc6e94f1935acdebe9db1e08c06a24b5\"\u003e\u003ccode\u003eb018556\u003c/code\u003e\u003c/a\u003e release: cpd-v5.3.3\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/kucherenko/jscpd/commits/v5.4.0/rust/jscpd\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `knip` from 6.38.0 to 6.39.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/webpro-nl/knip/releases\"\u003eknip's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 6.39.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Railway plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2026\"\u003e#2026\u003c/a\u003e) (6da55767eb419701dd32f93789a00e8bdc915276) - thanks \u003ca href=\"https://github.com/jonahsnider\"\u003e\u003ccode\u003e@​jonahsnider\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate query snapshot (8877d3cf35943e17a617e1197fa46c5a43342479)\u003c/li\u003e\n\u003cli\u003eFix excluded tags on entry re-exports (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2062\"\u003e#2062\u003c/a\u003e) (b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eUpdate rolldown snapshot (3a45c806e1c1b7ceb078903652c8631566400096)\u003c/li\u003e\n\u003cli\u003eSkip synthetic self-imports in Vue and Nuxt auto-import compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2067\"\u003e#2067\u003c/a\u003e) (d912d807e41f140bbc79bafce6882b3c05dec6ff) - thanks \u003ca href=\"https://github.com/bytedoe\"\u003e\u003ccode\u003e@​bytedoe\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(angular): keep other projects' inputs when one has no architect (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2064\"\u003e#2064\u003c/a\u003e) (af3f42e9772e9937fd71b7557d3b54aee1db339a) - thanks \u003ca href=\"https://github.com/Cayan\"\u003e\u003ccode\u003e@​Cayan\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(vite): resolve nested HTML entry points in multi-page apps (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1988\"\u003e#1988\u003c/a\u003e) (4648aefe56e7bac521bb6f17189473b46f8ff00f) - thanks \u003ca href=\"https://github.com/DreamLongYT\"\u003e\u003ccode\u003e@​DreamLongYT\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImprove Rstest plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2068\"\u003e#2068\u003c/a\u003e) (add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf) - thanks \u003ca href=\"https://github.com/fi3ework\"\u003e\u003ccode\u003e@​fi3ework\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eHandle profiles, formatters and require paths in Cucumber plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2065\"\u003e#2065\u003c/a\u003e) (2ad39fcf02e067b4bdfc06a658bf4bf5abeea764) - thanks \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix(playwright): resolve globalSetup/globalTeardown from config dir (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2076\"\u003e#2076\u003c/a\u003e) (7060bb968339680d694275413aba2833e4521ed9) - thanks \u003ca href=\"https://github.com/alokn\"\u003e\u003ccode\u003e@​alokn\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003efix: read entry export tags under the re-exported names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2069\"\u003e#2069\u003c/a\u003e) (1698683df95a96b3515795eb664aacf030042d7b) - thanks \u003ca href=\"https://github.com/devYRPauli\"\u003e\u003ccode\u003e@​devYRPauli\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/webpro-nl/knip/commit/ed30e5b7e9a53ae0158726ee7ccdecc4f9dbde07\"\u003e\u003ccode\u003eed30e5b\u003c/code\u003e\u003c/a\u003e Release knip@6.39.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/1698683df95a96b3515795eb664aacf030042d7b\"\u003e\u003ccode\u003e1698683\u003c/code\u003e\u003c/a\u003e fix: read entry export tags under the re-exported names (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2069\"\u003e#2069\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/7060bb968339680d694275413aba2833e4521ed9\"\u003e\u003ccode\u003e7060bb9\u003c/code\u003e\u003c/a\u003e fix(playwright): resolve globalSetup/globalTeardown from config dir (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2076\"\u003e#2076\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/2ad39fcf02e067b4bdfc06a658bf4bf5abeea764\"\u003e\u003ccode\u003e2ad39fc\u003c/code\u003e\u003c/a\u003e Handle profiles, formatters and require paths in Cucumber plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2065\"\u003e#2065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/add87992e9dfe2f3c22e4c6ba7fa257d7f0151cf\"\u003e\u003ccode\u003eadd8799\u003c/code\u003e\u003c/a\u003e Improve Rstest plugin support (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2068\"\u003e#2068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/4648aefe56e7bac521bb6f17189473b46f8ff00f\"\u003e\u003ccode\u003e4648aef\u003c/code\u003e\u003c/a\u003e fix(vite): resolve nested HTML entry points in multi-page apps (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/1988\"\u003e#1988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/af3f42e9772e9937fd71b7557d3b54aee1db339a\"\u003e\u003ccode\u003eaf3f42e\u003c/code\u003e\u003c/a\u003e fix(angular): keep other projects' inputs when one has no architect (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2064\"\u003e#2064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/d912d807e41f140bbc79bafce6882b3c05dec6ff\"\u003e\u003ccode\u003ed912d80\u003c/code\u003e\u003c/a\u003e Skip synthetic self-imports in Vue and Nuxt auto-import compilers (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2067\"\u003e#2067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/b22e27543cb8dd4ba7ec97c70ccfd06bc8f16614\"\u003e\u003ccode\u003eb22e275\u003c/code\u003e\u003c/a\u003e Fix excluded tags on entry re-exports (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2062\"\u003e#2062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/webpro-nl/knip/commit/6da55767eb419701dd32f93789a00e8bdc915276\"\u003e\u003ccode\u003e6da5576\u003c/code\u003e\u003c/a\u003e Add Railway plugin (\u003ca href=\"https://github.com/webpro-nl/knip/tree/HEAD/packages/knip/issues/2026\"\u003e#2026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/webpro-nl/knip/commits/knip@6.39.0/packages/knip\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lefthook` from 2.1.14 to 2.1.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/releases\"\u003elefthook's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.1.16\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e3ee04318fd06d56a70cc9c90dc8385b19918f520 ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e91407e537b2fa36539506963a33e582dca394798 deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ebe6f0ae8793533449cb9a07a253fa9a381e82206 fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ecf4ef1e19baf0581871f69b40914d64c94ff19d7 fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.1.15\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2388dde2b31dc9a782e967764046b41b404cece9 feat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1547\"\u003e#1547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e49260b57c2a56bc4d65d09395458bb3ce3c63311 fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e38bc1c6cef3192a36002d0dcc37973416249c07e fix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1509\"\u003e#1509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e0892f5f256ebe162485492af5ca14c2ced45586f fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ef1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2 fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e07ce565bcc73465bc18fb36561b935ee2a53eab6 fix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1486\"\u003e#1486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ec465ca8ef4fc9ee0695aa4a9530fc404ed838b7a test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/evilmartians/lefthook/blob/master/CHANGELOG.md\"\u003elefthook's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.16\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: test staging fixed files with partially staged by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1483\"\u003e#1483\u003c/a\u003e) by \u003ca href=\"https://github.com/Sakshamm-Goyal\"\u003e\u003ccode\u003e@​Sakshamm-Goyal\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1560\"\u003e#1560\u003c/a\u003e) by \u003ca href=\"https://github.com/devindavies\"\u003e\u003ccode\u003e@​devindavies\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1559\"\u003e#1559\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1.15\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1523\"\u003e#1523\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1558\"\u003e#1558\u003c/a\u003e) by \u003ca href=\"https://github.com/mrexox\"\u003e\u003ccode\u003e@​mrexox\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1485\"\u003e#1485\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1527\"\u003e#1527\u003c/a\u003e) by \u003ca href=\"https://github.com/rwinkelman\"\u003e\u003ccode\u003e@​rwinkelman\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sanitize slashes in remote ref when building the checkout dir name (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1486\"\u003e#1486\u003c/a\u003e) by \u003ca href=\"https://github.com/hamodywe\"\u003e\u003ccode\u003e@​hamodywe\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: quote paths in the generated hook shim (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1509\"\u003e#1509\u003c/a\u003e) by \u003ca href=\"https://github.com/addielaruee\"\u003e\u003ccode\u003e@​addielaruee\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: propagate forced colors to hook commands via CLICOLOR_FORCE (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/pull/1547\"\u003e#1547\u003c/a\u003e) by \u003ca href=\"https://github.com/Yash121l\"\u003e\u003ccode\u003e@​Yash121l\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/433e6b9067d5d138bf63b47403e0df8895a40e33\"\u003e\u003ccode\u003e433e6b9\u003c/code\u003e\u003c/a\u003e 2.1.16: preserve unrelated unstaged changes on conflicts after autofixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/cf4ef1e19baf0581871f69b40914d64c94ff19d7\"\u003e\u003ccode\u003ecf4ef1e\u003c/code\u003e\u003c/a\u003e fix: test staging fixed files with partially staged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/be6f0ae8793533449cb9a07a253fa9a381e82206\"\u003e\u003ccode\u003ebe6f0ae\u003c/code\u003e\u003c/a\u003e fix: preserve unrelated unstaged changes on conflict (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1483\"\u003e#1483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/91407e537b2fa36539506963a33e582dca394798\"\u003e\u003ccode\u003e91407e5\u003c/code\u003e\u003c/a\u003e deps: bump mod and text deps to resolve CVEs (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1560\"\u003e#1560\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/3ee04318fd06d56a70cc9c90dc8385b19918f520\"\u003e\u003ccode\u003e3ee0431\u003c/code\u003e\u003c/a\u003e ci: refactor publishing scripts (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1559\"\u003e#1559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/d050364655420db8a4241f2480942a8d8ddb3486\"\u003e\u003ccode\u003ed050364\u003c/code\u003e\u003c/a\u003e 2.1.15: small fixes to output and LFS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/49260b57c2a56bc4d65d09395458bb3ce3c63311\"\u003e\u003ccode\u003e49260b5\u003c/code\u003e\u003c/a\u003e fix(lfs): do not pipe stdin into post-checkout git-lfs hook (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1523\"\u003e#1523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/0892f5f256ebe162485492af5ca14c2ced45586f\"\u003e\u003ccode\u003e0892f5f\u003c/code\u003e\u003c/a\u003e fix: remove color blending (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1558\"\u003e#1558\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/f1de41cd5cd6a6c5e0179c65e00d5ed6d90078c2\"\u003e\u003ccode\u003ef1de41c\u003c/code\u003e\u003c/a\u003e fix: resolve push-files fallback against the remote-tracking ref (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1485\"\u003e#1485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/evilmartians/lefthook/commit/c465ca8ef4fc9ee0695aa4a9530fc404ed838b7a\"\u003e\u003ccode\u003ec465ca8\u003c/code\u003e\u003c/a\u003e test(cmd): regression for valid fish shell completion output (\u003ca href=\"https://redirect.github.com/evilmartians/lefthook/issues/1527\"\u003e#1527\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/evilmartians/lefthook/compare/v2.1.14...v2.1.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.4 to 3.9.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.9/CHANGELOG.md#399\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.8/CHANGELOG.md#398\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular 22.2\u003c/li\u003e\n\u003cli\u003eFix regressions in v3.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.7/CHANGELOG.md#397\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve quotes for methods named \u003ccode\u003enew\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19621\"\u003eprettier/prettier#19621\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eimport defer\u003c/code\u003e in \u003ccode\u003etypescript\u003c/code\u003e parser (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19624\"\u003eprettier/prettier#19624\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19675\"\u003eprettier/prettier#19675\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a new official plugin \u003ca href=\"https://github.com/prettier/prettier/tree/3.9.6/packages/plugin-yuku\"\u003e\u003ccode\u003e@prettier/plugin-yuku\u003c/code\u003e 🚀\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19628\"\u003eprettier/prettier#19628\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19629\"\u003eprettier/prettier#19629\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.6/CHANGELOG.md#396\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.5\u003c/h2\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.5/CHANGELOG.md#395\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAngular: Format \u003ccode\u003e@content(name)\u003c/code\u003e -\u0026gt; \u003ccode\u003e@content (name)\u003c/code\u003e to align with other block syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19499\"\u003e#19499\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.4/CHANGELOG.md#394\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMarkdown: Fix unexpected removal of characters in liquid syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19489\"\u003eprettier/prettier#19489\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTypeScript: Allow decorators to be used with declare on class fields (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19492\"\u003eprettier/prettier#19492\u003c/a\u003e by \u003ca href=\"https://github.com/evoactivity\"\u003e\u003ccode\u003e@​evoactivity\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.3/CHANGELOG.md#393\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCLI: Fix ignored file has been cached incorrectly (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19483\"\u003e#19483\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.9.1/CHANGELOG.md#391\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.9.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.5...3.9.0\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.9.9\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.8...3.9.9\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Fix text with \u003ccode\u003e$\u003c/code\u003e been incorrectly parsed as math syntax (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20140\"\u003e#20140\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"md\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n**Uses $FOO** from `a.sh` and `b.sh`, plus `$BAR` from `c.sh`, before anything else runs here.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003efrom\u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.9 --\u0026gt;\n\u003cstrong\u003eUses $FOO\u003c/strong\u003e from \u003ccode\u003ea.sh\u003c/code\u003e and \u003ccode\u003eb.sh\u003c/code\u003e, plus \u003ccode\u003e$BAR\u003c/code\u003e from \u003ccode\u003ec.sh\u003c/code\u003e, before anything else runs here.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.8\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.7...3.9.8\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/20087\"\u003e#20087\u003c/a\u003e by \u003ca href=\"https://github.com/seiyab\"\u003e\u003ccode\u003e@​seiyab\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\nIf `module` is not a [`WebAssembly.Module`](https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module) object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.7 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\u003c/p\u003e\n\u003cp\u003e{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.9.8 --\u0026gt;\nIf \u003ccode\u003emodule\u003c/code\u003e is not a \u003ca href=\"https://github.com/prettier/prettier/blob/main/en-US/docs/WebAssembly/Reference/JavaScript_interface/Module\"\u003e\u003ccode\u003eWebAssembly.Module\u003c/code\u003e\u003c/a\u003e object instance, a\n{{jsxref(\u0026quot;TypeError\u0026quot;)}} is thrown.\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.9.7\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.9.6...3.9.7\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eMarkdown: Prevent indentation drift in list-item code blocks (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19647\"\u003e#19647\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19990\"\u003e#19990\u003c/a\u003e by \u003ca href=\"https://github.com/Austin1serb\"\u003e\u003ccode\u003e@​Austin1serb\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/giaBaoJS\"\u003e\u003ccode\u003e@​giaBaoJS\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"markdown\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n- [x] short first line.\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/cdd17f2288b28b170a76416c72dac56e3ea5daff\"\u003e\u003ccode\u003ecdd17f2\u003c/code\u003e\u003c/a\u003e Release 3.9.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc7b8968e678f51ea00e2be3fe8c717d114691a3\"\u003e\u003ccode\u003edc7b896\u003c/code\u003e\u003c/a\u003e Disable \u003ccode\u003esingleDollarTextMath\u003c/code\u003e in \u003ccode\u003emdast-util-math\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20140\"\u003e#20140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/f9be58fb8ec62dd47197ea19a30aac5ad26dfee0\"\u003e\u003ccode\u003ef9be58f\u003c/code\u003e\u003c/a\u003e Git blame ignore 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/88470cb79ca3b757dd6b93906d9a992aa1a456c3\"\u003e\u003ccode\u003e88470cb\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/9559cab39eb5082c99a27e8829760c055adba841\"\u003e\u003ccode\u003e9559cab\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4fc8ee87465de8d54780273a6996d74e8e9da827\"\u003e\u003ccode\u003e4fc8ee8\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/4f2ab6765d7cb29408a2abdac75d023d64d44107\"\u003e\u003ccode\u003e4f2ab67\u003c/code\u003e\u003c/a\u003e Release 3.9.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/3d82af8b15b8e89de20dd05cc65f66ab6d4ce8b0\"\u003e\u003ccode\u003e3d82af8\u003c/code\u003e\u003c/a\u003e Update Regex related dependencies (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20082\"\u003e#20082\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/5ec8db1745c2bdcca3706ab8cfbbe5c11fc457c1\"\u003e\u003ccode\u003e5ec8db1\u003c/code\u003e\u003c/a\u003e [3.9.x] Markdown: Don't let Liquid objects interrupt paragraphs (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/20087\"\u003e#20087\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/5b142ed2bce0095161bf6865af30df2d5ba99466\"\u003e\u003ccode\u003e5b142ed\u003c/code\u003e\u003c/a\u003e Release Release \u003ccode\u003e@​prettier/plugin-hermes\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.2.3, \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.2.3, an...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.4...3.9.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.11.4 to 2.11.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/turborepo/releases\"\u003eturbo's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTurborepo v2.11.6\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Release Turborepo 2.11.5 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14329\"\u003evercel/turborepo#14329\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade standalone turbo on installer reruns by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14330\"\u003evercel/turborepo#14330\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Deflake OpenTelemetry and PTY shutdown tests by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14331\"\u003evercel/turborepo#14331\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Document standalone turbo installation by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14332\"\u003evercel/turborepo#14332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Install standalone turbo on Windows with PowerShell by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14334\"\u003evercel/turborepo#14334\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Keep Yarn patch resolutions with npm protocol selectors in prune by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14337\"\u003evercel/turborepo#14337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-tailwind example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14264\"\u003evercel/turborepo#14264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Resolve latest turbo release with workflow token by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14339\"\u003evercel/turborepo#14339\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Update with-ultracite example by \u003ca href=\"https://github.com/vercel-gh-bot-5\"\u003e\u003ccode\u003e@​vercel-gh-bot-5\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14335\"\u003evercel/turborepo#14335\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Match production MFE negative lookaheads locally by \u003ca href=\"https://github.com/kitfoster\"\u003e\u003ccode\u003e@​kitfoster\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13496\"\u003evercel/turborepo#13496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add missing system environment variables and run flags by \u003ca href=\"https://github.com/BABTUNA\"\u003e\u003ccode\u003e@​BABTUNA\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/13811\"\u003evercel/turborepo#13811\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Normalize task inputs consistently for affected detection and hashing by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14341\"\u003evercel/turborepo#14341\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add task tags with configuration inheritance by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14342\"\u003evercel/turborepo#14342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Upgrade brace-expansion to latest compatible releases by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14347\"\u003evercel/turborepo#14347\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Point security.txt to Vercel HackerOne program by \u003ca href=\"https://github.com/swarnava\"\u003e\u003ccode\u003e@​swarnava\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14346\"\u003evercel/turborepo#14346\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Deflake untracked scan-scope assertions by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14348\"\u003evercel/turborepo#14348\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Expose task and package tags in \u003ccode\u003equery\u003c/code\u003e by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14343\"\u003evercel/turborepo#14343\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Filter \u003ccode\u003equery\u003c/code\u003e tasks and packages by tags by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14344\"\u003evercel/turborepo#14344\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Filter tasks by tags in the CLI by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14345\"\u003evercel/turborepo#14345\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Complete task \u003ccode\u003equery\u003c/code\u003e metadata for non-script entrypoints by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14350\"\u003evercel/turborepo#14350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Infer single-package mode for query commands by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14351\"\u003evercel/turborepo#14351\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/swarnava\"\u003e\u003ccode\u003e@​swarnava\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14346\"\u003evercel/turborepo#14346\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.5...v2.11.6\"\u003ehttps://github.com/vercel/turborepo/compare/v2.11.5...v2.11.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.11.5\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eChangelog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Release Turborepo 2.11.4 by \u003ca href=\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14231\"\u003evercel/turborepo#14231\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Python opt-in hint into filter contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14228\"\u003evercel/turborepo#14228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move dependency-output summary assertion into contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14230\"\u003evercel/turborepo#14230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move dependency-output selection and validation cases to engine contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14232\"\u003evercel/turborepo#14232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Cargo exclude-only scope coverage by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14238\"\u003evercel/turborepo#14238\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Cargo cache-authority cases to contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14240\"\u003evercel/turborepo#14240\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move JIT dependency graph scenario into engine contract by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14235\"\u003evercel/turborepo#14235\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move dependency-output hash cases into task-hash contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14233\"\u003evercel/turborepo#14233\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move Cargo task-filter cases into crate contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14239\"\u003evercel/turborepo#14239\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move JIT input hash timing cases into task-hash contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14234\"\u003evercel/turborepo#14234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move package input normalization cases into engine contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14236\"\u003evercel/turborepo#14236\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Move structured startup and JIT input cases into contracts by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14237\"\u003evercel/turborepo#14237\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Back off remote artifact requests during outages by \u003ca href=\"https://github.com/anthonyshew\"\u003e\u003ccode\u003e@​anthonyshew\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/14222\"\u003evercel/turborepo#14222\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fcd121358c58a57f678bf96938ed56553820d16e\"\u003e\u003ccode\u003efcd1213\u003c/code\u003e\u003c/a\u003e publish 2.11.6 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/90718d15c5249ddb037c7461db6ecb51bf0eb2c4\"\u003e\u003ccode\u003e90718d1\u003c/code\u003e\u003c/a\u003e fix: Infer single-package mode for query commands (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14351\"\u003e#14351\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/a409ce5af84a094b669ef0df994d77bfdf63b32a\"\u003e\u003ccode\u003ea409ce5\u003c/code\u003e\u003c/a\u003e fix: Complete task \u003ccode\u003equery\u003c/code\u003e metadata for non-script entrypoints (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14350\"\u003e#14350\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/bc7c148ac1c3680d4f3d13b91f265beed87edba1\"\u003e\u003ccode\u003ebc7c148\u003c/code\u003e\u003c/a\u003e feat: Filter tasks by tags in the CLI (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14345\"\u003e#14345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/49d16076271dad9b56421d3ff8e702a33f9d5f50\"\u003e\u003ccode\u003e49d1607\u003c/code\u003e\u003c/a\u003e feat: Filter \u003ccode\u003equery\u003c/code\u003e tasks and packages by tags (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14344\"\u003e#14344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fba5351c47fe9b1bb1669d554a8535f2f3376a36\"\u003e\u003ccode\u003efba5351\u003c/code\u003e\u003c/a\u003e feat: Expose task and package tags in \u003ccode\u003equery\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14343\"\u003e#14343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/b4570e0c966561a4cbb09ae529582bad77cf05c8\"\u003e\u003ccode\u003eb4570e0\u003c/code\u003e\u003c/a\u003e test: Deflake untracked scan-scope assertions (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14348\"\u003e#14348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fa107aa83463ea1877a3cf5baba447d7e9bda78a\"\u003e\u003ccode\u003efa107aa\u003c/code\u003e\u003c/a\u003e docs: Point security.txt to Vercel HackerOne program (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14346\"\u003e#14346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0deb0e745283c23331ec3ccb579073cf04d6950a\"\u003e\u003ccode\u003e0deb0e7\u003c/code\u003e\u003c/a\u003e fix: Upgrade brace-expansion to latest compatible releases (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14347\"\u003e#14347\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/d44edbe5a753be6c0e36330fc34ff3f164d91c15\"\u003e\u003ccode\u003ed44edbe\u003c/code\u003e\u003c/a\u003e feat: Add task tags with configuration inheritance (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/14342\"\u003e#14342\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.11.4...v2.11.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `zod` from 4.4.3 to 4.6.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/colinhacks/zod/releases\"\u003ezod's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.6.5\u003c/h2\u003e\n\u003ch2\u003eCommits:\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ed2b135cfb7a3582b9eb515756b9166bcb9521f4a docs: add the 4.6.x patch highlights to the 4.6 post\u003c/li\u003e\n\u003cli\u003ef1448f7cee00df9fe1e9ad84a000aa1828cc8bc1 docs: fold the 4.6.x patch highlights into the 4.6 post's own sections\u003c/li\u003e\n\u003cli\u003ede65a5cb39ed22a507fac935788f718fa88d104f docs: lead the properties section with the check and add a Zod Mini tab (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6598\"\u003e#6598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e56222cd1532c07bcb91b67df529cab4c0a215330 feat(instanceof): key the .properties() shape off the instance type (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6600\"\u003e#6600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eca0229a404818290e6cdcfefcd7eb2d04bcbb543 Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, refreshed weekly by CI (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6595\"\u003e#6595\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003ecc4cd4ee9c52fcaa10964e48cc144541e41a5ed9 Revert \u0026quot;Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, refreshed weekly by CI (\u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6595\"\u003e#6595\u003c/a\u003e)\u0026quot;\u0026quot;\u003c/li\u003e\n\u003cli\u003e0f3f5ee3ca56c7574bf849e54f79e9a6e02562ee 4.6.5\u003c/li\u003e\n\u003cli\u003e59bbc03e10c636b9eb3c393dfeb552819774ec21 chore: re-pin the integration peers to the workspace zod after the 4.6.5 bump\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.4\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.3\"\u003e4.6.3\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/d6bc1e30\"\u003e\u003ccode\u003ed6bc1e30\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003ez.currencyCode()\u003c/code\u003e over a vendored ISO 4217 list, refreshed weekly by CI (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6595\"\u003e#6595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/ad32d751\"\u003e\u003ccode\u003ead32d751\u003c/code\u003e\u003c/a\u003e perf: \u003ccode\u003ez.url()\u003c/code\u003e rejects an invalid URL with \u003ccode\u003eURL.canParse()\u003c/code\u003e instead of a throwing constructor, about 50x faster; fewer allocations on the validation path (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6588\"\u003e#6588\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2bb08717\"\u003e\u003ccode\u003e2bb08717\u003c/code\u003e\u003c/a\u003e chore: re-pin the integration peers to the workspace zod after the 4.6.4 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/f6e1701a\"\u003e\u003ccode\u003ef6e1701a\u003c/code\u003e\u003c/a\u003e chore(deps): bump next to 15.5.25 and vite to 7.3.6 (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6153\"\u003e#6153\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.3\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.2\"\u003e4.6.2\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/413cce9a\"\u003e\u003ccode\u003e413cce9a\u003c/code\u003e\u003c/a\u003e fix(v4): make z.properties() a check again (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6594\"\u003e#6594\u003c/a\u003e) — removes the standalone \u003ccode\u003ez.properties()\u003c/code\u003e schema from 4.6.0; \u003ccode\u003ez.instanceof().properties()\u003c/code\u003e and \u003ccode\u003e.check(...z.properties())\u003c/code\u003e are unchanged\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/75d63ee1\"\u003e\u003ccode\u003e75d63ee1\u003c/code\u003e\u003c/a\u003e docs: show only the \u003ccode\u003e.properties()\u003c/code\u003e method form in the 4.6 post\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/46da9572\"\u003e\u003ccode\u003e46da9572\u003c/code\u003e\u003c/a\u003e docs: match the error-message examples to what the parsers emit\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.2\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.1\"\u003e4.6.1\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/9446b5cc\"\u003e\u003ccode\u003e9446b5cc\u003c/code\u003e\u003c/a\u003e fix: preserve undefined prefault outputs and object keys (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6587\"\u003e#6587\u003c/a\u003e) — closes \u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6585\"\u003e#6585\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/0c483c58\"\u003e\u003ccode\u003e0c483c58\u003c/code\u003e\u003c/a\u003e docs: the \u003ca href=\"https://zod.dev/blog/zod-4-6\"\u003eZod 4.6 announcement post\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6546\"\u003e#6546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/a00c3f34\"\u003e\u003ccode\u003ea00c3f34\u003c/code\u003e\u003c/a\u003e docs: use Trigger.dev's brand-kit lockups for the platinum card\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.1\u003c/h2\u003e\n\u003cp\u003eA patch on top of \u003ca href=\"https://github.com/colinhacks/zod/releases/tag/v4.6.0\"\u003e4.6.0\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/b12aa523\"\u003e\u003ccode\u003eb12aa523\u003c/code\u003e\u003c/a\u003e fix: preserve unique tags with defaulted discriminators (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6582\"\u003e#6582\u003c/a\u003e) — closes \u003ca href=\"https://redirect.github.com/colinhacks/zod/issues/6577\"\u003e#6577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/dd9c36fa\"\u003e\u003ccode\u003edd9c36fa\u003c/code\u003e\u003c/a\u003e fix(v4): defer recursive object index inference (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6580\"\u003e#6580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/3b154992\"\u003e\u003ccode\u003e3b154992\u003c/code\u003e\u003c/a\u003e feat(lang): add Tajik (\u003ccode\u003etg\u003c/code\u003e) locale (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6581\"\u003e#6581\u003c/a\u003e) by \u003ca href=\"https://github.com/ismoil77\"\u003e\u003ccode\u003e@​ismoil77\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/2efa8b80\"\u003e\u003ccode\u003e2efa8b80\u003c/code\u003e\u003c/a\u003e ci: give the npm wait a real budget and drop the back-publish path (\u003ca href=\"https://redirect.github.com/colinhacks/zod/pull/6583\"\u003e#6583\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.6.0\u003c/h2\u003e\n\u003cp\u003eZod 4.6 is now available.\u003c/p\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003enpm install zod@latest\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAt a glance:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/59bbc03e10c636b9eb3c393dfeb552819774ec21\"\u003e\u003ccode\u003e59bbc03\u003c/code\u003e\u003c/a\u003e chore: re-pin the integration peers to the workspace zod after the 4.6.5 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/0f3f5ee3ca56c7574bf849e54f79e9a6e02562ee\"\u003e\u003ccode\u003e0f3f5ee\u003c/code\u003e\u003c/a\u003e 4.6.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/cc4cd4ee9c52fcaa10964e48cc144541e41a5ed9\"\u003e\u003ccode\u003ecc4cd4e\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, ref...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/ca0229a404818290e6cdcfefcd7eb2d04bcbb543\"\u003e\u003ccode\u003eca0229a\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat: add z.currencyCode() over a vendored ISO 4217 list, refreshed w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/colinhacks/zod/commit/56222cd1532c07bcb91b67df529cab4c0a215330\"\u003e\u003ccode\u003e56222cd\u003c/code\u003e\u003c/a\u003e feat(instanceof): key the .properties() shape off the instance type (\u003ca href=\"https://redirect.gi...\n\n_Description has been truncated_","html_url":"https://github.com/basilisk-labs/agentplane/pull/6049","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilisk-labs%2Fagentplane/issues/6049","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/6049/packages"}},{"old_version":"18.2.2","new_version":"18.4.0","update_type":"minor","path":null,"pr_created_at":"2026-10-04T08:46:16.000Z","version_change":"18.2.2 → 18.4.0","issue":{"uuid":"5697704306","node_id":"PR_kwDOTqpNeM8AAAABGhzi6Q","number":30,"state":"open","title":"chore(deps): bump the production-dependencies group across 1 directory with 32 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-10-04T08:46:16.000Z","updated_at":"2026-10-04T08:46:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"production-dependencies","update_count":32,"packages":[{"name":"@fastify/basic-auth","old_version":"6.2.0","new_version":"6.3.0","repository_url":"https://github.com/fastify/fastify-basic-auth"},{"name":"@fastify/compress","old_version":"9.1.0","new_version":"9.2.0","repository_url":"https://github.com/fastify/fastify-compress"},{"name":"@fastify/helmet","old_version":"13.1.0","new_version":"13.1.1","repository_url":"https://github.com/fastify/fastify-helmet"},{"name":"@nestjs/common","old_version":"11.1.28","new_version":"12.1.0","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/core","old_version":"11.1.28","new_version":"12.1.0","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/platform-fastify","old_version":"11.1.28","new_version":"12.1.0","repository_url":"https://github.com/nestjs/nest"},{"name":"@nestjs/swagger","old_version":"11.4.6","new_version":"12.0.2","repository_url":"https://github.com/nestjs/swagger"},{"name":"@nestjs/terminus","old_version":"11.1.1","new_version":"12.1.0","repository_url":"https://github.com/nestjs/terminus"},{"name":"@opentelemetry/auto-instrumentations-node","old_version":"0.79.0","new_version":"0.80.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js-contrib"},{"name":"@opentelemetry/exporter-trace-otlp-http","old_version":"0.221.0","new_version":"0.222.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/resources","old_version":"2.10.0","new_version":"2.11.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@opentelemetry/sdk-node","old_version":"0.221.0","new_version":"0.222.0","repository_url":"https://github.com/open-telemetry/opentelemetry-js"},{"name":"@prisma/adapter-pg","old_version":"7.9.1","new_version":"7.10.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@prisma/client","old_version":"7.9.1","new_version":"7.10.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@scalar/nestjs-api-reference","old_version":"1.2.12","new_version":"1.2.23","repository_url":"https://github.com/scalar/scalar"},{"name":"nestjs-pino","old_version":"4.6.1","new_version":"5.2.1","repository_url":"https://github.com/iamolegga/nestjs-pino"},{"name":"uuid","old_version":"14.0.1","new_version":"14.0.2","repository_url":"https://github.com/uuidjs/uuid"},{"name":"zod","old_version":"4.4.3","new_version":"4.6.5","repository_url":"https://github.com/colinhacks/zod"},{"name":"@eslint-community/eslint-plugin-eslint-comments","old_version":"4.7.2","new_version":"4.8.1","repository_url":"https://github.com/eslint-community/eslint-plugin-eslint-comments"},{"name":"@eslint-react/eslint-plugin","old_version":"5.18.1","new_version":"5.20.8","repository_url":"https://github.com/Rel1cx/eslint-react"},{"name":"@next/eslint-plugin-next","old_version":"16.2.12","new_version":"16.3.6","repository_url":"https://github.com/vercel/next.js"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.65.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.65.0","new_version":"8.70.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/eslint-plugin","old_version":"1.6.24","new_version":"1.6.27","repository_url":"https://github.com/vitest-dev/eslint-plugin-vitest"},{"name":"eslint-config-flat-gitignore","old_version":"2.3.0","new_version":"2.4.0","repository_url":"https://github.com/antfu/eslint-config-flat-gitignore"},{"name":"eslint-plugin-de-morgan","old_version":"2.1.3","new_version":"2.2.0","repository_url":"https://github.com/azat-io/eslint-plugin-de-morgan"},{"name":"eslint-plugin-n","old_version":"18.2.2","new_version":"18.4.0","repository_url":"https://github.com/eslint-community/eslint-plugin-n"},{"name":"eslint-plugin-playwright","old_version":"2.11.0","new_version":"2.12.0","repository_url":"https://github.com/mskelton/eslint-plugin-playwright"},{"name":"eslint-plugin-regexp","old_version":"3.1.1","new_version":"3.3.1","repository_url":"https://github.com/ota-meshi/eslint-plugin-regexp"},{"name":"eslint-plugin-sonarjs","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/SonarSource/SonarJS"},{"name":"eslint-plugin-unicorn","old_version":"72.0.0","new_version":"76.0.0","repository_url":"https://github.com/sindresorhus/eslint-plugin-unicorn"},{"name":"globals","old_version":"17.8.0","new_version":"17.12.0","repository_url":"https://github.com/sindresorhus/globals"}],"path":null,"ecosystem":"npm"},"body":"Bumps the production-dependencies group with 32 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@fastify/basic-auth](https://github.com/fastify/fastify-basic-auth) | `6.2.0` | `6.3.0` |\n| [@fastify/compress](https://github.com/fastify/fastify-compress) | `9.1.0` | `9.2.0` |\n| [@fastify/helmet](https://github.com/fastify/fastify-helmet) | `13.1.0` | `13.1.1` |\n| [@nestjs/common](https://github.com/nestjs/nest/tree/HEAD/packages/common) | `11.1.28` | `12.1.0` |\n| [@nestjs/core](https://github.com/nestjs/nest/tree/HEAD/packages/core) | `11.1.28` | `12.1.0` |\n| [@nestjs/platform-fastify](https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify) | `11.1.28` | `12.1.0` |\n| [@nestjs/swagger](https://github.com/nestjs/swagger) | `11.4.6` | `12.0.2` |\n| [@nestjs/terminus](https://github.com/nestjs/terminus) | `11.1.1` | `12.1.0` |\n| [@opentelemetry/auto-instrumentations-node](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/auto-instrumentations-node) | `0.79.0` | `0.80.0` |\n| [@opentelemetry/exporter-trace-otlp-http](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.222.0` |\n| [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) | `2.10.0` | `2.11.0` |\n| [@opentelemetry/sdk-node](https://github.com/open-telemetry/opentelemetry-js) | `0.221.0` | `0.222.0` |\n| [@prisma/adapter-pg](https://github.com/prisma/prisma/tree/HEAD/packages/adapter-pg) | `7.9.1` | `7.10.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.9.1` | `7.10.0` |\n| [@scalar/nestjs-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/nestjs) | `1.2.12` | `1.2.23` |\n| [nestjs-pino](https://github.com/iamolegga/nestjs-pino) | `4.6.1` | `5.2.1` |\n| [uuid](https://github.com/uuidjs/uuid) | `14.0.1` | `14.0.2` |\n| [zod](https://github.com/colinhacks/zod) | `4.4.3` | `4.6.5` |\n| [@eslint-community/eslint-plugin-eslint-comments](https://github.com/eslint-community/eslint-plugin-eslint-comments) | `4.7.2` | `4.8.1` |\n| [@eslint-react/eslint-plugin](https://github.com/Rel1cx/eslint-react/tree/HEAD/plugins/eslint-plugin) | `5.18.1` | `5.20.8` |\n| [@next/eslint-plugin-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-plugin-next) | `16.2.12` | `16.3.6` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.65.0` | `8.70.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.65.0` | `8.70.1` |\n| [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) | `1.6.24` | `1.6.27` |\n| [eslint-config-flat-gitignore](https://github.com/antfu/eslint-config-flat-gitignore) | `2.3.0` | `2.4.0` |\n| [eslint-plugin-de-morgan](https://github.com/azat-io/eslint-plugin-de-morgan) | `2.1.3` | `2.2.0` |\n| [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) | `18.2.2` | `18.4.0` |\n| [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.11.0` | `2.12.0` |\n| [eslint-plugin-regexp](https://github.com/ota-meshi/eslint-plugin-regexp) | `3.1.1` | `3.3.1` |\n| [eslint-plugin-sonarjs](https://github.com/SonarSource/SonarJS) | `4.2.0` | `4.2.1` |\n| [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) | `72.0.0` | `76.0.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.8.0` | `17.12.0` |\n\n\nUpdates `@fastify/basic-auth` from 6.2.0 to 6.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastify/fastify-basic-auth/releases\"\u003e@​fastify/basic-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.3.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps-dev): bump tsd from 0.31.2 to 0.32.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/170\"\u003efastify/fastify-basic-auth#170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(license): update date ranges; standardise style by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/171\"\u003efastify/fastify-basic-auth#171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 22.15.34 to 24.0.8 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/172\"\u003efastify/fastify-basic-auth#172\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(.npmrc): ignore scripts by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/173\"\u003efastify/fastify-basic-auth#173\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): remove \u003ccode\u003e@​fastify/pre-commit\u003c/code\u003e by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/174\"\u003efastify/fastify-basic-auth#174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(ci): add concurrency config by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/176\"\u003efastify/fastify-basic-auth#176\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump tsd from 0.32.0 to 0.33.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/175\"\u003efastify/fastify-basic-auth#175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(index): add jsdoc types by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/177\"\u003efastify/fastify-basic-auth#177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(index): remove redundant regex non-capture group by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/179\"\u003efastify/fastify-basic-auth#179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(index): enforce strict regex by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/178\"\u003efastify/fastify-basic-auth#178\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump \u003ccode\u003e@​types/node\u003c/code\u003e from 24.10.4 to 25.0.3 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/180\"\u003efastify/fastify-basic-auth#180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: remove stale.yml by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/181\"\u003efastify/fastify-basic-auth#181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(license): standardise license notice by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/182\"\u003efastify/fastify-basic-auth#182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump c8 from 10.1.3 to 11.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/184\"\u003efastify/fastify-basic-auth#184\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump fastify/workflows/.github/workflows/plugins-ci.yml from 5 to 6 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/185\"\u003efastify/fastify-basic-auth#185\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump neostandard from 0.12.2 to 0.13.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/187\"\u003efastify/fastify-basic-auth#187\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add lock-threads workflow by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/188\"\u003efastify/fastify-basic-auth#188\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor(types): migrate from tsd to tstyche by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/189\"\u003efastify/fastify-basic-auth#189\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: update depedabot setting by \u003ca href=\"https://github.com/climba03003\"\u003e\u003ccode\u003e@​climba03003\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/191\"\u003efastify/fastify-basic-auth#191\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify-plugin from 5.1.0 to 6.0.0 in the dependencies group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/193\"\u003efastify/fastify-basic-auth#193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(package.json): fix delvedor's personal url by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/194\"\u003efastify/fastify-basic-auth#194\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix broken links by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/195\"\u003efastify/fastify-basic-auth#195\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump \u003ccode\u003e@​types/node\u003c/code\u003e from 25.9.4 to 26.0.1 in the dev-dependencies-typescript group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/196\"\u003efastify/fastify-basic-auth#196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin actions to commit-hash by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/197\"\u003efastify/fastify-basic-auth#197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump c8 from 11.0.0 to 12.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/198\"\u003efastify/fastify-basic-auth#198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(.npmrc): add min-release-age by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/199\"\u003efastify/fastify-basic-auth#199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/plugins-ci.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/200\"\u003efastify/fastify-basic-auth#200\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/lock-threads.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/201\"\u003efastify/fastify-basic-auth#201\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/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/pull/181\"\u003efastify/fastify-basic-auth#181\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-basic-auth/compare/v6.2.0...v6.3.0\"\u003ehttps://github.com/fastify/fastify-basic-auth/compare/v6.2.0...v6.3.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/fastify/fastify-basic-auth/commit/3254bc2f8161e88171e81fd94b103b21b7eb1dc2\"\u003e\u003ccode\u003e3254bc2\u003c/code\u003e\u003c/a\u003e Bumped v6.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/c6a5b7bb2f03d066e7d3ccd029825e0f11837edf\"\u003e\u003ccode\u003ec6a5b7b\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/lock-threads.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/201\"\u003e#201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/8f827fad1d0b5526a59e09db658bf979c51d199f\"\u003e\u003ccode\u003e8f827fa\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/plugins-ci.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/200\"\u003e#200\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/8b607456f5ee88cf5b4a43b5835bbc7172045869\"\u003e\u003ccode\u003e8b60745\u003c/code\u003e\u003c/a\u003e chore(.npmrc): add min-release-age\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/870ebb39caad5e35a9b11a69cc9be0be456d962b\"\u003e\u003ccode\u003e870ebb3\u003c/code\u003e\u003c/a\u003e chore: bump c8 from 11.0.0 to 12.0.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/198\"\u003e#198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/ca9aee36aab77cec48246686a61e3f399896c90f\"\u003e\u003ccode\u003eca9aee3\u003c/code\u003e\u003c/a\u003e ci: pin actions to commit-hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/b8c1472aaf6827f4d1a3d39eac3437833fb2240a\"\u003e\u003ccode\u003eb8c1472\u003c/code\u003e\u003c/a\u003e chore: bump \u003ccode\u003e@​types/node\u003c/code\u003e in the dev-dependencies-typescript group (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/196\"\u003e#196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/4bfe5807521528b0aa8494238ebb9f3911c40171\"\u003e\u003ccode\u003e4bfe580\u003c/code\u003e\u003c/a\u003e docs: fix broken links\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/01ac0288e9cc628350fc9a715048818747ff2327\"\u003e\u003ccode\u003e01ac028\u003c/code\u003e\u003c/a\u003e chore(package.json): fix delvedor's personal url\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-basic-auth/commit/48c7c29160dc8f6388080606aed983b4b3330b36\"\u003e\u003ccode\u003e48c7c29\u003c/code\u003e\u003c/a\u003e chore: bump fastify-plugin from 5.1.0 to 6.0.0 in the dependencies group (\u003ca href=\"https://redirect.github.com/fastify/fastify-basic-auth/issues/193\"\u003e#193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastify/fastify-basic-auth/compare/v6.2.0...v6.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@fastify/compress` from 9.1.0 to 9.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastify/fastify-compress/releases\"\u003e@​fastify/compress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev9.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(.npmrc): add min-release-age by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/419\"\u003efastify/fastify-compress#419\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: compress small buffered payloads synchronously by \u003ca href=\"https://github.com/mcollina\"\u003e\u003ccode\u003e@​mcollina\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/418\"\u003efastify/fastify-compress#418\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/lock-threads.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/423\"\u003efastify/fastify-compress#423\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/plugins-ci.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/422\"\u003efastify/fastify-compress#422\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: unwrap fetch response before noCompress check for SSE support by \u003ca href=\"https://github.com/priitkaard\"\u003e\u003ccode\u003e@​priitkaard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/421\"\u003efastify/fastify-compress#421\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-compress/compare/v9.1.1...v9.2.0\"\u003ehttps://github.com/fastify/fastify-compress/compare/v9.1.1...v9.2.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev9.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: pin actions to commit-hash by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/414\"\u003efastify/fastify-compress#414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update dependabot.yml by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/415\"\u003efastify/fastify-compress#415\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump c8 from 11.0.0 to 12.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/417\"\u003efastify/fastify-compress#417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump adm-zip from 0.5.18 to 0.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/416\"\u003efastify/fastify-compress#416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: preserve status and headers when compressing a Fetch Response by \u003ca href=\"https://github.com/priitkaard\"\u003e\u003ccode\u003e@​priitkaard\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/420\"\u003efastify/fastify-compress#420\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/priitkaard\"\u003e\u003ccode\u003e@​priitkaard\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/fastify/fastify-compress/pull/420\"\u003efastify/fastify-compress#420\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-compress/compare/v9.1.0...v9.1.1\"\u003ehttps://github.com/fastify/fastify-compress/compare/v9.1.0...v9.1.1\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/fastify/fastify-compress/commit/d5319511abc6fb4eeee311709e3c8f39f291931c\"\u003e\u003ccode\u003ed531951\u003c/code\u003e\u003c/a\u003e Bumped v9.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/bb135f11e61c30bebab5c885ad413a6c714b964a\"\u003e\u003ccode\u003ebb135f1\u003c/code\u003e\u003c/a\u003e fix: unwrap fetch response before noCompress check for SSE support (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/421\"\u003e#421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/13616f9a2d7b79cb40ee2510d6e2163e5c8578a9\"\u003e\u003ccode\u003e13616f9\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/plugins-ci.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/422\"\u003e#422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/847e9ab2ac6de686a1c1eee18d9f454fd47af982\"\u003e\u003ccode\u003e847e9ab\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/lock-threads.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/423\"\u003e#423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/382485b097f342a68804a84479189210509ce5c5\"\u003e\u003ccode\u003e382485b\u003c/code\u003e\u003c/a\u003e perf: compress small buffered payloads synchronously (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/418\"\u003e#418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/6c034ecac9cb39a1f8b147a7a0e80255f7014a20\"\u003e\u003ccode\u003e6c034ec\u003c/code\u003e\u003c/a\u003e chore(.npmrc): add min-release-age (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/419\"\u003e#419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/7602400e3f85fffb49a895df733d1a01e5ae48b9\"\u003e\u003ccode\u003e7602400\u003c/code\u003e\u003c/a\u003e Bumped v9.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/a782a78a7d8d95e150fda31c7f4fdeec8d84f875\"\u003e\u003ccode\u003ea782a78\u003c/code\u003e\u003c/a\u003e fix: unwrap fetch response body without losing headers and status (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/646303a1abf2e6cf0f3d381ea56433bc659d342d\"\u003e\u003ccode\u003e646303a\u003c/code\u003e\u003c/a\u003e chore: bump adm-zip from 0.5.18 to 0.6.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/416\"\u003e#416\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-compress/commit/4c89887778e5258e7276fbe28362dab059457f50\"\u003e\u003ccode\u003e4c89887\u003c/code\u003e\u003c/a\u003e chore: bump c8 from 11.0.0 to 12.0.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-compress/issues/417\"\u003e#417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fastify/fastify-compress/compare/v9.1.0...v9.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@fastify/helmet` from 13.1.0 to 13.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fastify/fastify-helmet/releases\"\u003e@​fastify/helmet's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.1.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003etest: fix CSP header order assertions for \u003ca href=\"mailto:helmet@8.3.x\"\u003ehelmet@8.3.x\u003c/a\u003e by \u003ca href=\"https://github.com/Tony133\"\u003e\u003ccode\u003e@​Tony133\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/318\"\u003efastify/fastify-helmet#318\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: pin actions to commit-hash by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/316\"\u003efastify/fastify-helmet#316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump c8 from 11.0.0 to 12.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/317\"\u003efastify/fastify-helmet#317\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/lock-threads.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/320\"\u003efastify/fastify-helmet#320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: bump fastify/workflows/.github/workflows/plugins-ci.yml from 6.0.0 to 7.0.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/321\"\u003efastify/fastify-helmet#321\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(.npmrc): add min-release-age by \u003ca href=\"https://github.com/Fdawgs\"\u003e\u003ccode\u003e@​Fdawgs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/pull/319\"\u003efastify/fastify-helmet#319\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/fastify/fastify-helmet/compare/v13.1.0...v13.1.1\"\u003ehttps://github.com/fastify/fastify-helmet/compare/v13.1.0...v13.1.1\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/fastify/fastify-helmet/commit/8854d49a25b75d133a9df9ae3bf60fae4dfffb86\"\u003e\u003ccode\u003e8854d49\u003c/code\u003e\u003c/a\u003e Bumped v13.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/c4bbcb2dda6675d634230d657ec56831acd24d9a\"\u003e\u003ccode\u003ec4bbcb2\u003c/code\u003e\u003c/a\u003e chore(.npmrc): add min-release-age (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/8406fa821b420312cbb3e641f8b024e7d42dd926\"\u003e\u003ccode\u003e8406fa8\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/plugins-ci.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/321\"\u003e#321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/d8da457fae41854aca70180a48293b891ee91365\"\u003e\u003ccode\u003ed8da457\u003c/code\u003e\u003c/a\u003e chore: bump fastify/workflows/.github/workflows/lock-threads.yml (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/655cd3a9f4dabfaa8566c03f03319f6a405e9729\"\u003e\u003ccode\u003e655cd3a\u003c/code\u003e\u003c/a\u003e chore: bump c8 from 11.0.0 to 12.0.0 (\u003ca href=\"https://redirect.github.com/fastify/fastify-helmet/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/928d9b59b96754000cde860a1026fbe1d23ef560\"\u003e\u003ccode\u003e928d9b5\u003c/code\u003e\u003c/a\u003e ci: pin actions to commit-hash\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fastify/fastify-helmet/commit/7c9cda3b5c1ce60c582cd0dd8d3675a5ce340c1d\"\u003e\u003ccode\u003e7c9cda3\u003c/code\u003e\u003c/a\u003e test: fix CSP header order assertions for \u003ca href=\"mailto:helmet@8.3.x\"\u003ehelmet@8.3.x\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fastify/fastify-helmet/compare/v13.1.0...v13.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~tony133\"\u003etony133\u003c/a\u003e, a new releaser for \u003ccode\u003e@​fastify/helmet\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/common` from 11.1.28 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/common's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.1.0 (2026-09-23)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17838\"\u003e#17838\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17819\"\u003e#17819\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17828\"\u003e#17828\u003c/a\u003e fix(microservices): let the redis client retry after a failed connect (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17810\"\u003e#17810\u003c/a\u003e fix(microservices): fail every pending request when a callback throws (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17846\"\u003e#17846\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17840\"\u003e#17840\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17713\"\u003e#17713\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17834\"\u003e#17834\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17824\"\u003e#17824\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17827\"\u003e#17827\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17835\"\u003e#17835\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17836\"\u003e#17836\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 9\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAbdellatif Anaflous (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChris Z (\u003ca href=\"https://github.com/haimingZZ\"\u003e\u003ccode\u003e@​haimingZZ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJohnny J. Huirilef Millán (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJérémy Fauvel (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicael Levi L. Cavalcante (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRoman Khegay (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eXia Chao (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.4 (2026-09-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17816\"\u003e#17816\u003c/a\u003e fix(microservices): let the kafka client retry after a failed connect (\u003ca href=\"https://github.com/Xch4rt\"\u003e\u003ccode\u003e@​Xch4rt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17786\"\u003e#17786\u003c/a\u003e fix(microservices): fail pending rmq requests on client close (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17802\"\u003e#17802\u003c/a\u003e fix(microservices): fail pending nats requests on client close (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17803\"\u003e#17803\u003c/a\u003e fix(microservices): handle missing grpc package namespace gracefully (\u003ca href=\"https://github.com/Se3do\"\u003e\u003ccode\u003e@​Se3do\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17799\"\u003e#17799\u003c/a\u003e fix(microservices): share the processing hook envelope across transports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17797\"\u003e#17797\u003c/a\u003e fix(microservices): close the kafka request-response span exactly once (\u003ca href=\"https://github.com/MingLin1995\"\u003e\u003ccode\u003e@​MingLin1995\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17794\"\u003e#17794\u003c/a\u003e fix(microservices): close the request-response span exactly once (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17785\"\u003e#17785\u003c/a\u003e fix(microservices): route message handler rejections to handleError (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6739656fa3e8c98bd55883f0363a2254e6412232\"\u003e\u003ccode\u003e6739656\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/40d07dc62ccb41686859b804f8523ae0e2dd1984\"\u003e\u003ccode\u003e40d07dc\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17713\"\u003e#17713\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17845\"\u003e#17845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/bfb0843849ecdd3a5060cb789a1e8df9c42c8667\"\u003e\u003ccode\u003ebfb0843\u003c/code\u003e\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17713\"\u003e#17713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/b2b218687f28f185b97a53be9765d3d12f01754b\"\u003e\u003ccode\u003eb2b2186\u003c/code\u003e\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17827\"\u003e#17827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/58e13ed7aa5ea4e7a7fe2bd8ec0ea55d2073dc27\"\u003e\u003ccode\u003e58e13ed\u003c/code\u003e\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17834\"\u003e#17834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/555c2ce237c820801ce9a6c0e846c25dbd298053\"\u003e\u003ccode\u003e555c2ce\u003c/code\u003e\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2dfba680522ddf74ace234f02b4022782c031a71\"\u003e\u003ccode\u003e2dfba68\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/899dbe3a0c1e59d1d0fb7e0c7ad0b2d2aa4ae771\"\u003e\u003ccode\u003e899dbe3\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/10d745669d0135deb73376de83ce163132855268\"\u003e\u003ccode\u003e10d7456\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency file-type to v22.1.1 (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17793\"\u003e#17793\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2ddb8bd9a97d1421c780cb3aff363b864a0135ae\"\u003e\u003ccode\u003e2ddb8bd\u003c/code\u003e\u003c/a\u003e fix(common): mark parse date pipe options as optional (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/common/issues/17780\"\u003e#17780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v12.1.0/packages/common\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/core` from 11.1.28 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.1.0 (2026-09-23)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17838\"\u003e#17838\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17819\"\u003e#17819\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17828\"\u003e#17828\u003c/a\u003e fix(microservices): let the redis client retry after a failed connect (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17810\"\u003e#17810\u003c/a\u003e fix(microservices): fail every pending request when a callback throws (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17846\"\u003e#17846\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17840\"\u003e#17840\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17713\"\u003e#17713\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17834\"\u003e#17834\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17824\"\u003e#17824\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17827\"\u003e#17827\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17835\"\u003e#17835\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17836\"\u003e#17836\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 9\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAbdellatif Anaflous (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChris Z (\u003ca href=\"https://github.com/haimingZZ\"\u003e\u003ccode\u003e@​haimingZZ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJohnny J. Huirilef Millán (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJérémy Fauvel (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicael Levi L. Cavalcante (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRoman Khegay (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eXia Chao (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.4 (2026-09-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17816\"\u003e#17816\u003c/a\u003e fix(microservices): let the kafka client retry after a failed connect (\u003ca href=\"https://github.com/Xch4rt\"\u003e\u003ccode\u003e@​Xch4rt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17786\"\u003e#17786\u003c/a\u003e fix(microservices): fail pending rmq requests on client close (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17802\"\u003e#17802\u003c/a\u003e fix(microservices): fail pending nats requests on client close (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17803\"\u003e#17803\u003c/a\u003e fix(microservices): handle missing grpc package namespace gracefully (\u003ca href=\"https://github.com/Se3do\"\u003e\u003ccode\u003e@​Se3do\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17799\"\u003e#17799\u003c/a\u003e fix(microservices): share the processing hook envelope across transports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17797\"\u003e#17797\u003c/a\u003e fix(microservices): close the kafka request-response span exactly once (\u003ca href=\"https://github.com/MingLin1995\"\u003e\u003ccode\u003e@​MingLin1995\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17794\"\u003e#17794\u003c/a\u003e fix(microservices): close the request-response span exactly once (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17785\"\u003e#17785\u003c/a\u003e fix(microservices): route message handler rejections to handleError (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6739656fa3e8c98bd55883f0363a2254e6412232\"\u003e\u003ccode\u003e6739656\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/21648746d9ce499eeca21b86a503749be9172ae3\"\u003e\u003ccode\u003e2164874\u003c/code\u003e\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17846\"\u003e#17846\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/40d07dc62ccb41686859b804f8523ae0e2dd1984\"\u003e\u003ccode\u003e40d07dc\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17713\"\u003e#17713\u003c/a\u003e)\u0026quot; (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17845\"\u003e#17845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/bfb0843849ecdd3a5060cb789a1e8df9c42c8667\"\u003e\u003ccode\u003ebfb0843\u003c/code\u003e\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17713\"\u003e#17713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6b429baaf8f4550e8e469d36c162f77ae90a7874\"\u003e\u003ccode\u003e6b429ba\u003c/code\u003e\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17840\"\u003e#17840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ad1889073dab3cdd611ca823ce269deb66cc6787\"\u003e\u003ccode\u003ead18890\u003c/code\u003e\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17838\"\u003e#17838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/fb8e0d65293c03539e811d9dd2d76362bf1a7627\"\u003e\u003ccode\u003efb8e0d6\u003c/code\u003e\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17819\"\u003e#17819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6b282d3e146dc3ce4f4c12197697fdba57c68477\"\u003e\u003ccode\u003e6b282d3\u003c/code\u003e\u003c/a\u003e fix(core): stop the Observable producer when the client disconnects (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17826\"\u003e#17826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/58e13ed7aa5ea4e7a7fe2bd8ec0ea55d2073dc27\"\u003e\u003ccode\u003e58e13ed\u003c/code\u003e\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17834\"\u003e#17834\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/555c2ce237c820801ce9a6c0e846c25dbd298053\"\u003e\u003ccode\u003e555c2ce\u003c/code\u003e\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/core/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v12.1.0/packages/core\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/platform-fastify` from 11.1.28 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/nest/releases\"\u003e@​nestjs/platform-fastify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev12.1.0 (2026-09-23)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17838\"\u003e#17838\u003c/a\u003e fix(core): inherit optional ctor params when the ctor is not redeclared (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17819\"\u003e#17819\u003c/a\u003e fix(core): name the module when metadata entries are invalid (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17828\"\u003e#17828\u003c/a\u003e fix(microservices): let the redis client retry after a failed connect (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17810\"\u003e#17810\u003c/a\u003e fix(microservices): fail every pending request when a callback throws (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eEnhancements\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17846\"\u003e#17846\u003c/a\u003e fix(core): do not skip subsequent middleware after a transient one (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17840\"\u003e#17840\u003c/a\u003e fix(core): preserve route handler names (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17713\"\u003e#17713\u003c/a\u003e feat(core): add support for array of global prefixes (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17834\"\u003e#17834\u003c/a\u003e feat(common,core): add built-in, adapter-agnostic cookies (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17824\"\u003e#17824\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17827\"\u003e#17827\u003c/a\u003e fix(common): apply the ParseDatePipe default to every missing value (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eplatform-fastify\u003c/code\u003e, \u003ccode\u003etesting\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17835\"\u003e#17835\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecommon\u003c/code\u003e, \u003ccode\u003ecore\u003c/code\u003e, \u003ccode\u003eplatform-fastify\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17836\"\u003e#17836\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 9\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAbdellatif Anaflous (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlejandro (\u003ca href=\"https://github.com/lehafari\"\u003e\u003ccode\u003e@​lehafari\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChris Z (\u003ca href=\"https://github.com/haimingZZ\"\u003e\u003ccode\u003e@​haimingZZ\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJohnny J. Huirilef Millán (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJérémy Fauvel (\u003ca href=\"https://github.com/Grmiade\"\u003e\u003ccode\u003e@​Grmiade\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMicael Levi L. Cavalcante (\u003ca href=\"https://github.com/micalevisk\"\u003e\u003ccode\u003e@​micalevisk\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRoman Khegay (\u003ca href=\"https://github.com/thekhegay\"\u003e\u003ccode\u003e@​thekhegay\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eXia Chao (\u003ca href=\"https://github.com/xia-chao\"\u003e\u003ccode\u003e@​xia-chao\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev12.0.4 (2026-09-21)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emicroservices\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17816\"\u003e#17816\u003c/a\u003e fix(microservices): let the kafka client retry after a failed connect (\u003ca href=\"https://github.com/Xch4rt\"\u003e\u003ccode\u003e@​Xch4rt\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17786\"\u003e#17786\u003c/a\u003e fix(microservices): fail pending rmq requests on client close (\u003ca href=\"https://github.com/johnnyhuirilef\"\u003e\u003ccode\u003e@​johnnyhuirilef\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17802\"\u003e#17802\u003c/a\u003e fix(microservices): fail pending nats requests on client close (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17803\"\u003e#17803\u003c/a\u003e fix(microservices): handle missing grpc package namespace gracefully (\u003ca href=\"https://github.com/Se3do\"\u003e\u003ccode\u003e@​Se3do\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17799\"\u003e#17799\u003c/a\u003e fix(microservices): share the processing hook envelope across transports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17797\"\u003e#17797\u003c/a\u003e fix(microservices): close the kafka request-response span exactly once (\u003ca href=\"https://github.com/MingLin1995\"\u003e\u003ccode\u003e@​MingLin1995\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17794\"\u003e#17794\u003c/a\u003e fix(microservices): close the request-response span exactly once (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/nest/pull/17785\"\u003e#17785\u003c/a\u003e fix(microservices): route message handler rejections to handleError (\u003ca href=\"https://github.com/hktitof\"\u003e\u003ccode\u003e@​hktitof\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6739656fa3e8c98bd55883f0363a2254e6412232\"\u003e\u003ccode\u003e6739656\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ea0d2ccc3e0092a85415f415a19ef440c984a5b0\"\u003e\u003ccode\u003eea0d2cc\u003c/code\u003e\u003c/a\u003e fix(fastify): honor Nest forceCloseConnections in initHttpServer (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17824\"\u003e#17824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/d232dda2af136854b0072351e9ad11c001766d65\"\u003e\u003ccode\u003ed232dda\u003c/code\u003e\u003c/a\u003e feat(fastify): add file upload interceptors backed by \u003ccode\u003e@​fastify/multipart\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/555c2ce237c820801ce9a6c0e846c25dbd298053\"\u003e\u003ccode\u003e555c2ce\u003c/code\u003e\u003c/a\u003e feat(common,core,fastify): built-in CSRF protection and security headers (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17\"\u003e#17\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/2dfba680522ddf74ace234f02b4022782c031a71\"\u003e\u003ccode\u003e2dfba68\u003c/code\u003e\u003c/a\u003e chore: update readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/899dbe3a0c1e59d1d0fb7e0c7ad0b2d2aa4ae771\"\u003e\u003ccode\u003e899dbe3\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/6ae6b012c3d308ad0007de99da81a10e37c0d6e2\"\u003e\u003ccode\u003e6ae6b01\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency fastify to v5.12.5 (\u003ca href=\"https://github.com/nestjs/nest/tree/HEAD/packages/platform-fastify/issues/17791\"\u003e#17791\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/14151790e1abe870abc3bbf00f88786fc3ebe509\"\u003e\u003ccode\u003e1415179\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/ee168a569d30e600d301ed38abb14d2171a6f315\"\u003e\u003ccode\u003eee168a5\u003c/code\u003e\u003c/a\u003e chore(release): publish v12.0.2 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/nest/commit/e93c8e12b185bfdf9ee0363fbda003fdea753466\"\u003e\u003ccode\u003ee93c8e1\u003c/code\u003e\u003c/a\u003e fix: absolute-form middleware bypass (fastify) and unserializable pattern cra...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/nest/commits/v12.1.0/packages/platform-fastify\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/swagger` from 11.4.6 to 12.0.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/swagger/releases\"\u003e@​nestjs/swagger's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e12.0.2\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(plugin): treat single literal types as enums by \u003ca href=\"https://github.com/y-hsgw\"\u003e\u003ccode\u003e@​y-hsgw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4097\"\u003enestjs/swagger#4097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency es-toolkit to v1.52.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4081\"\u003enestjs/swagger#4081\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(swagger): merge standard schema query params with \u003ca href=\"https://github.com/ApiQuery\"\u003e\u003ccode\u003e@​ApiQuery\u003c/code\u003e\u003c/a\u003e by \u003ca href=\"https://github.com/TadejPolajnar\"\u003e\u003ccode\u003e@​TadejPolajnar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4090\"\u003enestjs/swagger#4090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(plugin): keep the source package specifier for workspace imports by \u003ca href=\"https://github.com/mhalikosen\"\u003e\u003ccode\u003e@​mhalikosen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4086\"\u003enestjs/swagger#4086\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: resolve \u003ccode\u003e@​fastify/static\u003c/code\u003e through a bundler-visible dynamic import by \u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4115\"\u003enestjs/swagger#4115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(standard-schema): promote schema description to parameter object by \u003ca href=\"https://github.com/tjsousa\"\u003e\u003ccode\u003e@​tjsousa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4140\"\u003enestjs/swagger#4140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: declare typescript as an optional peer dependency by \u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4134\"\u003enestjs/swagger#4134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency swagger-ui-dist to v5.33.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4128\"\u003enestjs/swagger#4128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update dependency \u003ccode\u003e@​microsoft/tsdoc\u003c/code\u003e to v0.17.0 by \u003ca href=\"https://github.com/renovate\"\u003e\u003ccode\u003e@​renovate\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4124\"\u003enestjs/swagger#4124\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: support the HTTP QUERY method (RFC 10008) by \u003ca href=\"https://github.com/gentritabazi\"\u003e\u003ccode\u003e@​gentritabazi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4007\"\u003enestjs/swagger#4007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(swagger-ui): preserve $ characters when building swagger-ui-init.js by \u003ca href=\"https://github.com/csulit\"\u003e\u003ccode\u003e@​csulit\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4119\"\u003enestjs/swagger#4119\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/mhalikosen\"\u003e\u003ccode\u003e@​mhalikosen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4087\"\u003enestjs/swagger#4087\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TadejPolajnar\"\u003e\u003ccode\u003e@​TadejPolajnar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4090\"\u003enestjs/swagger#4090\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tjsousa\"\u003e\u003ccode\u003e@​tjsousa\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4140\"\u003enestjs/swagger#4140\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lazerg\"\u003e\u003ccode\u003e@​lazerg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4134\"\u003enestjs/swagger#4134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gentritabazi\"\u003e\u003ccode\u003e@​gentritabazi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4007\"\u003enestjs/swagger#4007\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/csulit\"\u003e\u003ccode\u003e@​csulit\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4119\"\u003enestjs/swagger#4119\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/nestjs/swagger/compare/12.0.1...12.0.2\"\u003ehttps://github.com/nestjs/swagger/compare/12.0.1...12.0.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eRelease 12.0.1\u003c/h2\u003e\n\u003ch2\u003e12.0.1 (2026-08-28)\u003c/h2\u003e\n\u003ch4\u003eBug fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4082\"\u003e#4082\u003c/a\u003e fix: esm hoist static imports (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependencies\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/nestjs/swagger/pull/4077\"\u003e#4077\u003c/a\u003e chore(deps): update dependency swagger-ui-dist to v5.32.14 (\u003ca href=\"https://github.com/apps/renovate\"\u003e\u003ccode\u003e@​renovate[bot]\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 1\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eKamil Mysliwiec (\u003ca href=\"https://github.com/kamilmysliwiec\"\u003e\u003ccode\u003e@​kamilmysliwiec\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 12.0.0\u003c/h2\u003e\n\u003ch1\u003eWhat's Changed\u003c/h1\u003e\n\u003cp\u003e\u003ccode\u003e@nestjs/swagger\u003c/code\u003e is now a \u003cstrong\u003enative ES module\u003c/strong\u003e, requires Nest 12, and changes how nullable schemas are spelled in the generated document.\u003c/p\u003e\n\u003ch2\u003eESM migration\u003c/h2\u003e\n\u003cp\u003eThe package is published as pure ESM (\u003ccode\u003e\u0026quot;type\u0026quot;: \u0026quot;module\u0026quot;\u003c/code\u003e, compiled with NodeNext) behind a proper exports map. The legacy root \u003ccode\u003eindex.ts\u003c/code\u003e / \u003ccode\u003eplugin.js\u003c/code\u003e / \u003ccode\u003eplugin.ts\u003c/code\u003e shims are gone, and deep imports into build internals are no longer resolvable — import from the package root (\u003ccode\u003e@nestjs/swagger\u003c/code\u003e) or from \u003ccode\u003e@nestjs/swagger/plugin\u003c/code\u003e.\u003c/p\u003e\n\u003ch2\u003erequire(esm) — CommonJS still works\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eYou do not need to convert your app to ESM.\u003c/strong\u003e Thanks to Node's \u003ccode\u003erequire(esm)\u003c/code\u003e support, a CommonJS app can keep doing \u003ccode\u003econst { SwaggerModule } = require('@nestjs/swagger')\u003c/code\u003e. The CLI plugin entry (\u003ccode\u003e@nestjs/swagger/plugin\u003c/code\u003e) also keeps a \u003ccode\u003erequire\u003c/code\u003e condition so \u003ccode\u003enest-cli.json\u003c/code\u003e setups load it unchanged.\u003c/p\u003e\n\u003cp\u003eThis is why the package now declares \u003ccode\u003e\u0026quot;engines\u0026quot;: { \u0026quot;node\u0026quot;: \u0026quot;^20.19.0 || \u0026gt;=22.12.0\u0026quot; }\u003c/code\u003e — those are the Node versions where \u003ccode\u003erequire(esm)\u003c/code\u003e is available without a flag.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/8f00eb9ca4bda26e7241adaa0908a7e14bdca457\"\u003e\u003ccode\u003e8f00eb9\u003c/code\u003e\u003c/a\u003e chore(): release v12.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/bfb231558d0813121da33bd9d4d23678d64a8696\"\u003e\u003ccode\u003ebfb2315\u003c/code\u003e\u003c/a\u003e fix(swagger-ui): preserve $ characters when building swagger-ui-init.js (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4119\"\u003e#4119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/2bea96aab1594041cececdd6e42bf0cb50ea1322\"\u003e\u003ccode\u003e2bea96a\u003c/code\u003e\u003c/a\u003e feat: support the HTTP QUERY method (RFC 10008) (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/752e5c7530386ccd305be83ea9e98e0ae57136a7\"\u003e\u003ccode\u003e752e5c7\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency supertest to v7.3.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4142\"\u003e#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/4faed70bf9e168b2e762e30c760c646d15cd2dbe\"\u003e\u003ccode\u003e4faed70\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency \u003ccode\u003e@​microsoft/tsdoc\u003c/code\u003e to v0.17.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4124\"\u003e#4124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/d0e797607956061e9e960a88ae1edc872429fdc2\"\u003e\u003ccode\u003ed0e7976\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency swagger-ui-dist to v5.33.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4128\"\u003e#4128\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/abce2beec990b00b91e5cc3ea0fcf4429427a86e\"\u003e\u003ccode\u003eabce2be\u003c/code\u003e\u003c/a\u003e fix: declare typescript as an optional peer dependency (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4134\"\u003e#4134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/234c20c87a48cc5c01cca9fed48d74cf240f0ab0\"\u003e\u003ccode\u003e234c20c\u003c/code\u003e\u003c/a\u003e fix(standard-schema): promote schema description to parameter object (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4140\"\u003e#4140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/9652868bc659e0f3ac9c7ad73d2aa50842d90e4d\"\u003e\u003ccode\u003e9652868\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency oxlint to v1.85.0 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4141\"\u003e#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nestjs/swagger/commit/92ee181f2772aeb4b31c04b10ea7003ce0a61bdf\"\u003e\u003ccode\u003e92ee181\u003c/code\u003e\u003c/a\u003e chore(deps): update nest monorepo to v12.0.4 (\u003ca href=\"https://redirect.github.com/nestjs/swagger/issues/4138\"\u003e#4138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/nestjs/swagger/compare/11.4.6...12.0.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@nestjs/terminus` from 11.1.1 to 12.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/nestjs/terminus/releases\"\u003e@​nestjs/terminus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 12.1.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0...12.1.0\"\u003e12.1.0\u003c/a\u003e (2026-09-20)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ememory leak in \u003ccode\u003eattempt().withTimeout()\u003c/code\u003e caused by \u003ccode\u003eAbortSignal.any()\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/terminus/commit/7843ef3563f32b45e76375b2f38cda10c46bb4a9\"\u003e7843ef3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2767\"\u003e#2767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp:\u003c/strong\u003e accept URL object in HttpHealthIndicator.pingCheck (\u003ca href=\"https://github.com/nestjs/terminus/commit/7bc43cd196f36c091b353e7358debbe714431f11\"\u003e7bc43cd\u003c/a\u003e), \u003ca href=\"https://github.com/Asadshah7950\"\u003e\u003ccode\u003e@​Asadshah7950\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 12.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/11.1.1...12.0.0\"\u003e12.0.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclose the microservice client when the ping fails (\u003ca href=\"https://github.com/nestjs/terminus/commit/8826bc61624b229e4cb3c011b9a4e8fea5ee3611\"\u003e8826bc6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehttp:\u003c/strong\u003e create a dedicated HttpService instead of resolving from DI (\u003ca href=\"https://github.com/nestjs/terminus/commit/163bfefeeb3e1dae301b2507082cc5cc6122172f\"\u003e163bfef\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2667\"\u003e#2667\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emicroservice:\u003c/strong\u003e stop RMQ pingCheck from asserting a queue per probe (\u003ca href=\"https://github.com/nestjs/terminus/commit/9afc532a615bac192bc1cf82017505dae33bbb1d\"\u003e9afc532\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2680\"\u003e#2680\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emongoose:\u003c/strong\u003e ping the database instead of checking readyState (\u003ca href=\"https://github.com/nestjs/terminus/commit/e1c64867d19c2419883fa19261cae9b063c7a7b8\"\u003ee1c6486\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2661\"\u003e#2661\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eset \u003ccode\u003eshutting_down\u003c/code\u003e before awaiting the graceful shutdown timeout (\u003ca href=\"https://github.com/nestjs/terminus/commit/1615c29a2a73d22244e47b25e0f8d66fb8599294\"\u003e1615c29\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eship the package as ESM (\u003ca href=\"https://github.com/nestjs/terminus/commit/fae66631fac84d7dd34865fd90724d2a25cfb8bf\"\u003efae6663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eattempt()\u003c/code\u003e function (\u003ca href=\"https://github.com/nestjs/terminus/commit/ef9ab99cbe9b529891cc04f81222d6dd889c95e9\"\u003eef9ab99\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003edegraded\u003c/code\u003e status for health indicator (\u003ca href=\"https://github.com/nestjs/terminus/commit/1cfb8afb04fcc7a8ffe48e431242f351f3fcfb7d\"\u003e1cfb8af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003eresponseTime\u003c/code\u003e to the \u003ccode\u003eHealthCheckResult\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/terminus/commit/a0434aed8f95e38cadd9e0c34dbe7412aa66e298\"\u003ea0434ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@nestjs/terminus\u003c/code\u003e no longer has runtime dependencies\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ethe package is now ESM-only and requires Node \u003ccode\u003e^20.19.0 || ^22.12.0 || \u0026gt;=24.0.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ethe deprecated \u003ccode\u003eHealthIndicator\u003c/code\u003e base class and its \u003ccode\u003egetStatus()\u003c/code\u003e have been\nremoved. Migrate custom indicators to \u003ccode\u003eHealthIndicatorService\u003c/code\u003e:\n\u003ccode\u003esuper.getStatus(key, isHealthy, data)\u003c/code\u003e becomes\n\u003ccode\u003ethis.healthIndicatorService.check(key).up(data)\u003c/code\u003e / \u003ccode\u003e.down(data)\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ethe deprecated error classes are no longer exported: \u003ccode\u003eHealthCheckError\u003c/code\u003e,\n\u003ccode\u003eConnectionNotFoundError\u003c/code\u003e, \u003ccode\u003eTimeoutError\u003c/code\u003e, \u003ccode\u003eStorageExceededError\u003c/code\u003e,\n\u003ccode\u003eUnhealthyResponseCodeError\u003c/code\u003e, \u003ccode\u003eMongoConnectionError\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003ethrowing inside a health indicator no longer produces a 503. In v11, a thrown\n\u003ccode\u003eHealthCheckError\u003c/code\u003e was unwrapped into the health check result; now any thrown\nerror is treated as an unexpected failure (500) and only a returned \u003ccode\u003edown\u003c/code\u003e\nresult marks the check unhealthy (503).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 12.0.0-next.1\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0-next.0...12.0.0-next.1\"\u003e12.0.0-next.1\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003c!-- 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/nestjs/terminus/blob/master/CHANGELOG.md\"\u003e@​nestjs/terminus's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0...12.1.0\"\u003e12.1.0\u003c/a\u003e (2026-09-20)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ememory leak in \u003ccode\u003eattempt().withTimeout()\u003c/code\u003e caused by \u003ccode\u003eAbortSignal.any()\u003c/code\u003e (\u003ca href=\"https://github.com/nestjs/terminus/commit/7843ef3563f32b45e76375b2f38cda10c46bb4a9\"\u003e7843ef3\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/nestjs/terminus/issues/2767\"\u003e#2767\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ehttp:\u003c/strong\u003e accept URL object in HttpHealthIndicator.pingCheck (\u003ca href=\"https://github.com/nestjs/terminus/commit/7bc43cd196f36c091b353e7358debbe714431f11\"\u003e7bc43cd\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0-next.1...12.0.0\"\u003e12.0.0\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/12.0.0-next.0...12.0.0-next.1\"\u003e12.0.0-next.1\u003c/a\u003e (2026-08-31)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd .cacheFor() builder (\u003ca href=\"https://github.com/nestjs/terminus/commit/ba59644ddfb0d49939490e34d7c5f06e314ad75b\"\u003eba59644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd \u003ccode\u003edegraded\u003c/code\u003e status for health indicator (\u003ca href=\"https://github.com/nestjs/terminus/commit/1cfb8afb04fcc7a8ffe48e431242f351f3fcfb7d\"\u003e1cfb8af\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eadd responseTime to the HealthCheckResponse (\u003ca href=\"https://github.com/nestjs/terminus/commit/a0434aed8f95e38cadd9e0c34dbe7412aa66e298\"\u003ea0434ae\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/nestjs/terminus/compare/11.1.1...12.0.0-next.0\"\u003e12.0.0-next.0\u003c/a\u003e (2026-08-30)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eclose the microservice client when the ping fails (\u003ca href=\"https://github.com/nestjs/terminus/commit/8826bc61624b229e4cb3c011b9a4e8fea5ee3611\"\u003e8826...\n\n_Description has been truncated_","html_url":"https://github.com/gravinawill/ruguin/pull/30","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravinawill%2Fruguin/issues/30","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/30/packages"}}]}