{"id":85538,"name":"react-doctor","ecosystem":"npm","repository_url":"https://github.com/aidenybai/react-doctor","issues_count":17,"created_at":"2026-02-22T11:02:47.729Z","updated_at":"2026-02-22T11:02:47.729Z","purl":"pkg:npm/react-doctor","metadata":{"id":13835357,"name":"react-doctor","ecosystem":"npm","description":"Diagnose and fix performance issues in your React app","homepage":"https://github.com/aidenybai/react-doctor#readme","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/aidenybai/react-doctor","keywords_array":["diagnostics","linter","nextjs","performance","react"],"namespace":null,"versions_count":22,"first_release_published_at":"2026-02-13T12:11:52.510Z","latest_release_published_at":"2026-02-19T06:57:30.053Z","latest_release_number":"0.0.22","last_synced_at":"2026-02-19T07:00:29.181Z","created_at":"2026-02-15T00:26:29.818Z","updated_at":"2026-02-19T07:00:35.952Z","registry_url":"https://www.npmjs.com/package/react-doctor","install_command":"npm install react-doctor","documentation_url":null,"metadata":{"funding":null,"dist-tags":{"latest":"0.0.22"}},"repo_metadata":{"id":339015942,"uuid":"1156960719","full_name":"millionco/react-doctor","owner":"millionco","description":"Let coding agents diagnose and fix your React code","archived":false,"fork":false,"pushed_at":"2026-02-17T20:11:49.000Z","size":15112,"stargazers_count":318,"open_issues_count":2,"forks_count":11,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-17T20:18:01.387Z","etag":null,"topics":["agents","code-review","doctor","react","skill"],"latest_commit_sha":null,"homepage":"https://react.doctor","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/millionco.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-13T09:02:13.000Z","updated_at":"2026-02-17T20:16:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/millionco/react-doctor","commit_stats":null,"previous_names":["millionco/react-doctor"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/millionco/react-doctor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/millionco%2Freact-doctor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/millionco%2Freact-doctor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/millionco%2Freact-doctor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/millionco%2Freact-doctor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/millionco","download_url":"https://codeload.github.com/millionco/react-doctor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/millionco%2Freact-doctor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29605791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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"}},"repo_metadata_updated_at":"2026-02-19T07:00:35.952Z","dependent_packages_count":0,"downloads":null,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":22.803347865566927,"dependent_packages_count":32.87321949089976,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":27.838283678233342},"purl":"pkg:npm/react-doctor","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/npm/react-doctor","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/npm/react-doctor","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/npm/react-doctor/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-02-19T02:06:13.221Z","issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/millionco%2Freact-doctor/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/react-doctor/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/react-doctor/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/react-doctor/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/react-doctor/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/react-doctor/codemeta","maintainers":[{"uuid":"abai","login":"abai","name":null,"email":"aiden.bai05@gmail.com","url":null,"packages_count":61,"html_url":"https://www.npmjs.com/~abai","role":null,"created_at":"2026-02-15T00:26:33.429Z","updated_at":"2026-02-15T00:26:33.429Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/maintainers/abai/packages"}],"registry":{"name":"npmjs.org","url":"https://registry.npmjs.org","ecosystem":"npm","default":true,"packages_count":5402266,"maintainers_count":1130722,"namespaces_count":356057,"keywords_count":0,"github":"npm","metadata":{"funded_packages_count":162763},"icon_url":"https://github.com/npm.png","created_at":"2022-04-04T15:19:23.081Z","updated_at":"2026-02-28T05:54:09.743Z","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":13,"unique_repositories_count_past_30_days":3,"recent_issues":[{"uuid":"4941431230","node_id":"PR_kwDOBgsnn870e9Wz","number":11915,"state":"open","title":"chore(deps-dev): bump the dependencies group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","javascript","size:XS"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-21T17:24:27.000Z","updated_at":"2026-07-21T17:26:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dependencies","update_count":4,"packages":[{"name":"@testing-library/jest-dom","old_version":"6.9.1","new_version":"7.0.0","repository_url":"https://github.com/testing-library/jest-dom"},{"name":"happy-dom","old_version":"20.10.6","new_version":"20.11.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"lint-staged","old_version":"17.0.8","new_version":"17.1.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"react-doctor","old_version":"0.7.8","new_version":"0.8.3","repository_url":"https://github.com/millionco/react-doctor"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 4 updates in the / directory: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom), [happy-dom](https://github.com/capricorn86/happy-dom), [lint-staged](https://github.com/lint-staged/lint-staged) and [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor).\n\nUpdates `@testing-library/jest-dom` from 6.9.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testing-library/jest-dom/releases\"\u003e@​testing-library/jest-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/compare/v6.10.0...v7.0.0\"\u003e7.0.0\u003c/a\u003e (2026-07-20)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd toContainAnyBy* and toContainOneBy* query matchers (\u003ca href=\"https://github.com/testing-library/jest-dom/commit/1e39089d850408a583c83495d00d8aa27078933f\"\u003e1e39089\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​testing-library/dom\u003c/code\u003e is now a required peer dependency. The minimum supported\nNode.js version is now 22.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRepaired release for \u003ca href=\"https://redirect.github.com/testing-library/jest-dom/pull/731\"\u003etesting-library/jest-dom#731\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/compare/v6.9.1...v6.10.0\"\u003e6.10.0\u003c/a\u003e (2026-07-20)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd toContainAnyBy* and toContainOneBy* query matchers (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/731\"\u003e#731\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/jest-dom/commit/cae44df901cf8e92e3febc0af6fa667b10be6d6a\"\u003ecae44df\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/testing-library/jest-dom/commit/1e39089d850408a583c83495d00d8aa27078933f\"\u003e\u003ccode\u003e1e39089\u003c/code\u003e\u003c/a\u003e feat: add toContainAnyBy* and toContainOneBy* query matchers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/commit/cae44df901cf8e92e3febc0af6fa667b10be6d6a\"\u003e\u003ccode\u003ecae44df\u003c/code\u003e\u003c/a\u003e feat: add toContainAnyBy* and toContainOneBy* query matchers (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/commit/55c07ce5f1c489b5b9dc31a770a84d83a1178072\"\u003e\u003ccode\u003e55c07ce\u003c/code\u003e\u003c/a\u003e ci: switch release to npm trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/commit/213256fa8e0aff45e47920a0bc564f708d1f67de\"\u003e\u003ccode\u003e213256f\u003c/code\u003e\u003c/a\u003e docs: move toHaveSelection from the deprecated section (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/testing-library/jest-dom/compare/v6.9.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​testing-library/jest-dom\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `happy-dom` from 20.10.6 to 20.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/capricorn86/happy-dom/releases\"\u003ehappy-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.11.0\u003c/h2\u003e\n\u003ch3\u003e:art: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/Cookie_Store_API\"\u003eCookieStore API\u003c/a\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/TrevorBurnham\"\u003e\u003ccode\u003e@​TrevorBurnham\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1864\"\u003e#1864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds support for \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/Element/checkVisibility\"\u003eElement.checkVisibility()\u003c/a\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1506\"\u003e#1506\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/capricorn86/happy-dom/commit/bffe73a33fb35a283fe42b95e4391e274283415b\"\u003e\u003ccode\u003ebffe73a\u003c/code\u003e\u003c/a\u003e chore: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2243\"\u003e#2243\u003c/a\u003e Fixes problem with canvas in release build (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2245\"\u003e#2245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/9b46f5e6757bd775331f1b7b2b555f7c9a90b672\"\u003e\u003ccode\u003e9b46f5e\u003c/code\u003e\u003c/a\u003e chore: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2243\"\u003e#2243\u003c/a\u003e Fixes problem with canvas in release build (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2244\"\u003e#2244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/f9c57a55d8984aab2a73934e8a54d48e5e439a41\"\u003e\u003ccode\u003ef9c57a5\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1864\"\u003e#1864\u003c/a\u003e Adds support for CookieStore API (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2040\"\u003e#2040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/a4c4faf028f82de8eae4719327e8bb0a0be07fa9\"\u003e\u003ccode\u003ea4c4faf\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1506\"\u003e#1506\u003c/a\u003e Adds support for Element checkVisibility (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2223\"\u003e#2223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/capricorn86/happy-dom/compare/v20.10.6...v20.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.8 to 17.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.1.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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7\"\u003e\u003ccode\u003e7568d4f\u003c/code\u003e\u003c/a\u003e - The console output of \u003cem\u003elint-staged\u003c/em\u003e has been simplified so that there's less interactive spinners and more explicit messages like \u003cem\u003e\u0026quot;Started…\u003c/em\u003e\u0026quot; -\u0026gt; \u0026quot;\u003cem\u003eDone!\u003c/em\u003e\u0026quot;. The primary purpose of this was to remove \u003ca href=\"https://github.com/listr2/listr2\"\u003e\u003ccode\u003eListr2\u003c/code\u003e\u003c/a\u003e, a very large dependency.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBefore:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e1561.7 kB\u003c/code\u003e with 29 packages.\u003c/p\u003e\n\u003cp\u003eFancy interactive spinners, but output dynamically changes:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e✔ Backed up original state in git stash (0b191303)\n✔ Running tasks for staged files...\n✔ Staging changes from tasks...\n✔ Cleaning up temporary files...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAfter:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e974.0 kB\u003c/code\u003e with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).\u003c/p\u003e\n\u003cp\u003eSimpler but more explicit output:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e⋯ Backing up original state…\n✔ Done backing up original state (35b38ed1)!\n⋯ Running tasks for staged files…\n    *.js — 1 file\n      ⋯ oxlint --fix\n    *.{json,md} — 1 file\n      ⋯ oxfmt --write\n\u003cp\u003e✔ oxfmt --write\u003cbr /\u003e\n✔ oxlint --fix\u003c/p\u003e\n\u003cp\u003e✔ Done running tasks for staged files!\u003cbr /\u003e\n⋯ Staging changes from tasks…\u003cbr /\u003e\n✔ Done staging changes from tasks!\u003cbr /\u003e\n⋯ Cleaning up temporary files…\u003cbr /\u003e\n✔ Done cleaning up temporary files!\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c19079d808d557b538c34fe69381d2ef970c7acc\"\u003e\u003ccode\u003ec19079d\u003c/code\u003e\u003c/a\u003e - Try to restore hidden unstaged changes when using \u003ccode\u003e--no-revert\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1818\"\u003e#1818\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8\"\u003e\u003ccode\u003eefb23a2\u003c/code\u003e\u003c/a\u003e - Console output colors are enabled/disabled more consistently.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1818\"\u003e#1818\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/26112a19151f9678861d51ea7416e9f9bef24bbb\"\u003e\u003ccode\u003e26112a1\u003c/code\u003e\u003c/a\u003e - Failed JS function tasks now properly kill other tasks, unless \u003ccode\u003e--continue-on-error\u003c/code\u003e is used. Previously their failure didn't affect other tasks.\u003c/p\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/lint-staged/lint-staged/blob/main/CHANGELOG.md\"\u003elint-staged's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e17.1.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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7\"\u003e\u003ccode\u003e7568d4f\u003c/code\u003e\u003c/a\u003e - The console output of \u003cem\u003elint-staged\u003c/em\u003e has been simplified so that there's less interactive spinners and more explicit messages like \u003cem\u003e\u0026quot;Started…\u003c/em\u003e\u0026quot; -\u0026gt; \u0026quot;\u003cem\u003eDone!\u003c/em\u003e\u0026quot;. The primary purpose of this was to remove \u003ca href=\"https://github.com/listr2/listr2\"\u003e\u003ccode\u003eListr2\u003c/code\u003e\u003c/a\u003e, a very large dependency.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBefore:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e1561.7 kB\u003c/code\u003e with 29 packages.\u003c/p\u003e\n\u003cp\u003eFancy interactive spinners, but output dynamically changes:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e✔ Backed up original state in git stash (0b191303)\n✔ Running tasks for staged files...\n✔ Staging changes from tasks...\n✔ Cleaning up temporary files...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAfter:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e974.0 kB\u003c/code\u003e with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).\u003c/p\u003e\n\u003cp\u003eSimpler but more explicit output:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e⋯ Backing up original state…\n✔ Done backing up original state (35b38ed1)!\n⋯ Running tasks for staged files…\n    *.js — 1 file\n      ⋯ oxlint --fix\n    *.{json,md} — 1 file\n      ⋯ oxfmt --write\n\u003cp\u003e✔ oxfmt --write\u003cbr /\u003e\n✔ oxlint --fix\u003c/p\u003e\n\u003cp\u003e✔ Done running tasks for staged files!\u003cbr /\u003e\n⋯ Staging changes from tasks…\u003cbr /\u003e\n✔ Done staging changes from tasks!\u003cbr /\u003e\n⋯ Cleaning up temporary files…\u003cbr /\u003e\n✔ Done cleaning up temporary files!\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c19079d808d557b538c34fe69381d2ef970c7acc\"\u003e\u003ccode\u003ec19079d\u003c/code\u003e\u003c/a\u003e - Try to restore hidden unstaged changes when using \u003ccode\u003e--no-revert\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1818\"\u003e#1818\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8\"\u003e\u003ccode\u003eefb23a2\u003c/code\u003e\u003c/a\u003e - Console output colors are enabled/disabled more consistently.\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/lint-staged/lint-staged/commit/dd5a95fdb3a70601fdb69a618c1a3c6c3a2286e2\"\u003e\u003ccode\u003edd5a95f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1817\"\u003e#1817\u003c/a\u003e from lint-staged/changeset-release/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/aad7f3b14392fd01c482fb71303ecb5d641cf26e\"\u003e\u003ccode\u003eaad7f3b\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/11b1d5c3e503eb2be5f93c7db15bb9f83091c455\"\u003e\u003ccode\u003e11b1d5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1818\"\u003e#1818\u003c/a\u003e from lint-staged/fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8\"\u003e\u003ccode\u003eefb23a2\u003c/code\u003e\u003c/a\u003e fix: enable colors globally based on option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/26112a19151f9678861d51ea7416e9f9bef24bbb\"\u003e\u003ccode\u003e26112a1\u003c/code\u003e\u003c/a\u003e fix: function task failure kills other tasks, unless \u003ccode\u003e--continue-on-error\u003c/code\u003e wa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/9b98b7f02921f59294171368d0e87dc6c3ce22c0\"\u003e\u003ccode\u003e9b98b7f\u003c/code\u003e\u003c/a\u003e fix: handle error when calculating hash of unstaged changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/d43432b0b64415468ba853e84557b6d662155475\"\u003e\u003ccode\u003ed43432b\u003c/code\u003e\u003c/a\u003e fix: do not allow NaN concurrency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bd4dcbf0ed22a655386a29ac98c5ed4296d6b354\"\u003e\u003ccode\u003ebd4dcbf\u003c/code\u003e\u003c/a\u003e fix: do not drop backup stash when restoring unstaged changes fails and using...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/9153a77b55e410b43b0d05d4b1aea2078a22339d\"\u003e\u003ccode\u003e9153a77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1816\"\u003e#1816\u003c/a\u003e from lint-staged/replace-listr2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/290e618d1e0686d6b82a91c8716de3d4bf850691\"\u003e\u003ccode\u003e290e618\u003c/code\u003e\u003c/a\u003e refactor: use common identity function\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.8...v17.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.7.8 to 0.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.8.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8d4d5a82d945a02efec4a4fe033b8851df3b6729\"\u003e\u003ccode\u003e8d4d5a8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Remove extraneous usage copy from the package README.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.8.3\u003c/li\u003e\n\u003cli\u003edeslop-js@0.8.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.8.2\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/millionco/react-doctor/pull/1419\"\u003e#1419\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c4959bb7400a6d5f21cc35a8d54d0ed7faf6971\"\u003e\u003ccode\u003e8c4959b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Correct false positives and false negatives found by an all-rules 2,000-project parity audit. Tighten project capability detection, browser-target compatibility, React Compiler configuration reachability, Tailwind conflict handling, JSX attribute ordering, accessible-name evidence, server-action provenance, state/effect execution analysis, image and motion evidence, and framework export handling.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1337\"\u003e#1337\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/0b0b5ac52301cbfbb5abdffe4d0d9bf673325a94\"\u003e\u003ccode\u003e0b0b5ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add deterministic design-quality lint rules spanning motion performance, accessibility, and Tailwind/JSX hygiene.\u003c/p\u003e\n\u003cp\u003eAdd \u003ccode\u003ereact-doctor design [directory]\u003c/code\u003e for a focused UI audit. The command runs the complete design-rule bucket plus other explicitly design-tagged rules, deliberately activates that family's focused opt-in diagnostics, respects explicit per-rule disablements, and skips unrelated analyzers, external lint configuration, custom plugins, and health scoring.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMotion\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-create-in-render\u003c/code\u003e\u003c/strong\u003e — Motion component factories executed during a component or custom-hook render, including synchronous iteration callbacks. Module scope, event/effect callbacks, and stable React initializers remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-constructor-in-render\u003c/code\u003e\u003c/strong\u003e — manual \u003ccode\u003emotionValue()\u003c/code\u003e objects recreated during React render. Recommends \u003ccode\u003euseMotionValue()\u003c/code\u003e while preserving module-scope and explicitly stabilized values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-use-transform-range-length\u003c/code\u003e\u003c/strong\u003e — statically provable \u003ccode\u003euseTransform()\u003c/code\u003e input and output arrays with different lengths. Aliased and namespace imports are resolved; dynamic and spread-backed ranges are skipped.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-keyframe-times-mismatch\u003c/code\u003e\u003c/strong\u003e — static Motion keyframe arrays whose transition \u003ccode\u003etimes\u003c/code\u003e count does not match the keyframe count, including transition objects nested inside \u003ccode\u003eanimate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-subscription-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003e.on()\u003c/code\u003e subscriptions attached to proven hook-created Motion values during render. Effect/event subscriptions and \u003ccode\u003euseMotionValueEvent()\u003c/code\u003e remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-imperative-animation-in-render\u003c/code\u003e\u003c/strong\u003e — imperative \u003ccode\u003eanimate()\u003c/code\u003e calls, animation-control starts, and Motion-value writes executed during React render. Resolves imported APIs, aliases, and \u003ccode\u003euseAnimate()\u003c/code\u003e tuple bindings while preserving effects, event handlers, deferred callbacks, and userland lookalikes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-animate-presence-must-outlive-child\u003c/code\u003e\u003c/strong\u003e — presence boundaries removed by the same condition as an exit-bearing child, which prevents Motion from observing the child leave. Stable outer boundaries, correctly propagated nested boundaries, and JSX hidden inside uninvoked callbacks remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-unstable-layout-id-in-iteration\u003c/code\u003e\u003c/strong\u003e — repeated literal or index-derived \u003ccode\u003elayoutId\u003c/code\u003e values inside \u003ccode\u003emap()\u003c/code\u003e and \u003ccode\u003eflatMap()\u003c/code\u003e callbacks. Stable item-derived IDs, conditional shared markers, and item-scoped layout groups remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-layout-on-inline-element\u003c/code\u003e\u003c/strong\u003e — proven Motion layout animations attached to an explicitly inline element, where transform-based layout animation cannot take effect. Static inline styles and unvariant Tailwind display utilities are resolved with CSS precedence.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-drag-axis-constraint-mismatch\u003c/code\u003e\u003c/strong\u003e — x-axis drags constrained only by vertical bounds, y-axis drags constrained only by horizontal bounds, and statically inverted numeric intervals. Refs, dynamic objects, spreads, and userland lookalikes remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewaapi-animation-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eElement.animate()\u003c/code\u003e calls on proven DOM receivers during component or custom-hook render, including synchronous callbacks and memo initializers. Effects, handlers, deferred work, module scope, and userland methods remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eweb-animation-offsets-valid\u003c/code\u003e\u003c/strong\u003e — Web Animations keyframe offsets outside \u003ccode\u003e[0, 1]\u003c/code\u003e or in descending order, across array-form and property-indexed keyframes. Equal, missing, null, dynamic, and spread-backed offsets remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-conflicting-spring-options\u003c/code\u003e\u003c/strong\u003e — proven Motion transition objects that combine physics spring controls (\u003ccode\u003estiffness\u003c/code\u003e, \u003ccode\u003edamping\u003c/code\u003e, or \u003ccode\u003emass\u003c/code\u003e) with duration controls (\u003ccode\u003eduration\u003c/code\u003e or \u003ccode\u003ebounce\u003c/code\u003e) that Motion ignores. Handles direct and nested transition objects while skipping dynamic and spread-overridden configurations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eprefer-motion-transform-property\u003c/code\u003e\u003c/strong\u003e — opt-in guidance for compositor-critical Motion animations that use individual transform keys instead of one directly accelerated \u003ccode\u003etransform\u003c/code\u003e value. Scope resolution limits findings to actual Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epointer-capture-needs-cancel-handler\u003c/code\u003e\u003c/strong\u003e — manual intrinsic-element drags that capture their pointer and define move/up handling without a pointer-cancel or lost-capture cleanup path. Requires a proven local \u003ccode\u003eevent.currentTarget.setPointerCapture(event.pointerId)\u003c/code\u003e call and skips spreads, custom components, nested callbacks, and uncertain handlers.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unthrottled-scroll-mutation\u003c/code\u003e\u003c/strong\u003e — direct animation-style writes or \u003ccode\u003eElement.animate()\u003c/code\u003e calls from an unthrottled native scroll listener. Read-only handlers, small class toggles, non-animation style changes, timer throttles, and unknown emitters remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unbounded-animation-frame-loop\u003c/code\u003e\u003c/strong\u003e — opt-in detection for a self-rescheduling \u003ccode\u003erequestAnimationFrame\u003c/code\u003e callback with no stop gate and no retained request ID.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-layout-property-animation\u003c/code\u003e\u003c/strong\u003e (extended) — now inspects statically provable Web Animations API keyframes in addition to Motion props.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-large-animated-blur\u003c/code\u003e\u003c/strong\u003e (extended) — now covers Motion and Web Animations keyframes while no longer misclassifying a static inline blur as animation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-permanent-will-change\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes permanently active static Tailwind \u003ccode\u003ewill-change-*\u003c/code\u003e utilities while preserving state-prefixed and scroll-position cases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-global-css-variable-animation\u003c/code\u003e\u003c/strong\u003e (narrowed) — reports animated variables only on the document root or body, avoiding false positives for variables deliberately scoped to one element.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-transition-all\u003c/code\u003e\u003c/strong\u003e (extended) — now also flags the Tailwind \u003ccode\u003etransition-all\u003c/code\u003e class (was inline-\u003ccode\u003estyle\u003c/code\u003e-only). Animating every property that changes includes expensive layout properties and instant ones like focus rings; name the properties (\u003ccode\u003etransition-colors\u003c/code\u003e, \u003ccode\u003etransition-transform\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-tailwind-layout-transition\u003c/code\u003e\u003c/strong\u003e — Tailwind arbitrary \u003ccode\u003etransition-[width|height|top|left|right|bottom|margin|padding]\u003c/code\u003e, which animates layout properties the browser recomputes every frame. Animate \u003ccode\u003etransform\u003c/code\u003e/\u003ccode\u003eopacity\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-ease-in-motion\u003c/code\u003e\u003c/strong\u003e — exact inline, Motion, and Tailwind \u003ccode\u003eease-in\u003c/code\u003e timing that delays the visible response, including transition configuration nested inside static Motion animation targets; preserves \u003ccode\u003eease-in-out\u003c/code\u003e and dynamic timing values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-long-transition-duration\u003c/code\u003e\u003c/strong\u003e (extended) — now covers static Motion transition objects, including nested transition configuration, while preserving perpetual loops, decorative hidden motion, dynamic values, unproven components, and duration values ignored by physics-based springs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-scale-from-zero\u003c/code\u003e\u003c/strong\u003e (extended) — now covers inline transform transitions and Tailwind scale transitions in addition to proven Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-excessive-motion-stagger\u003c/code\u003e\u003c/strong\u003e — opt-in detection for proven Motion stagger intervals above 80 ms, including \u003ccode\u003estaggerChildren\u003c/code\u003e and scope-resolved \u003ccode\u003estagger()\u003c/code\u003e calls used by \u003ccode\u003edelayChildren\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-hover-only-reveal\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes statically hidden Motion opacity states revealed by \u003ccode\u003ewhileHover\u003c/code\u003e without an equivalent \u003ccode\u003ewhileFocus\u003c/code\u003e state, in addition to Tailwind hover utilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAccessibility\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8d4d5a82d945a02efec4a4fe033b8851df3b6729\"\u003e\u003ccode\u003e8d4d5a8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Remove extraneous usage copy from the package README.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.8.3\u003c/li\u003e\n\u003cli\u003edeslop-js@0.8.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.8.2\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/millionco/react-doctor/pull/1419\"\u003e#1419\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c4959bb7400a6d5f21cc35a8d54d0ed7faf6971\"\u003e\u003ccode\u003e8c4959b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Correct false positives and false negatives found by an all-rules 2,000-project parity audit. Tighten project capability detection, browser-target compatibility, React Compiler configuration reachability, Tailwind conflict handling, JSX attribute ordering, accessible-name evidence, server-action provenance, state/effect execution analysis, image and motion evidence, and framework export handling.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1337\"\u003e#1337\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/0b0b5ac52301cbfbb5abdffe4d0d9bf673325a94\"\u003e\u003ccode\u003e0b0b5ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add deterministic design-quality lint rules spanning motion performance, accessibility, and Tailwind/JSX hygiene.\u003c/p\u003e\n\u003cp\u003eAdd \u003ccode\u003ereact-doctor design [directory]\u003c/code\u003e for a focused UI audit. The command runs the complete design-rule bucket plus other explicitly design-tagged rules, deliberately activates that family's focused opt-in diagnostics, respects explicit per-rule disablements, and skips unrelated analyzers, external lint configuration, custom plugins, and health scoring.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMotion\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-create-in-render\u003c/code\u003e\u003c/strong\u003e — Motion component factories executed during a component or custom-hook render, including synchronous iteration callbacks. Module scope, event/effect callbacks, and stable React initializers remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-constructor-in-render\u003c/code\u003e\u003c/strong\u003e — manual \u003ccode\u003emotionValue()\u003c/code\u003e objects recreated during React render. Recommends \u003ccode\u003euseMotionValue()\u003c/code\u003e while preserving module-scope and explicitly stabilized values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-use-transform-range-length\u003c/code\u003e\u003c/strong\u003e — statically provable \u003ccode\u003euseTransform()\u003c/code\u003e input and output arrays with different lengths. Aliased and namespace imports are resolved; dynamic and spread-backed ranges are skipped.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-keyframe-times-mismatch\u003c/code\u003e\u003c/strong\u003e — static Motion keyframe arrays whose transition \u003ccode\u003etimes\u003c/code\u003e count does not match the keyframe count, including transition objects nested inside \u003ccode\u003eanimate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-subscription-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003e.on()\u003c/code\u003e subscriptions attached to proven hook-created Motion values during render. Effect/event subscriptions and \u003ccode\u003euseMotionValueEvent()\u003c/code\u003e remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-imperative-animation-in-render\u003c/code\u003e\u003c/strong\u003e — imperative \u003ccode\u003eanimate()\u003c/code\u003e calls, animation-control starts, and Motion-value writes executed during React render. Resolves imported APIs, aliases, and \u003ccode\u003euseAnimate()\u003c/code\u003e tuple bindings while preserving effects, event handlers, deferred callbacks, and userland lookalikes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-animate-presence-must-outlive-child\u003c/code\u003e\u003c/strong\u003e — presence boundaries removed by the same condition as an exit-bearing child, which prevents Motion from observing the child leave. Stable outer boundaries, correctly propagated nested boundaries, and JSX hidden inside uninvoked callbacks remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-unstable-layout-id-in-iteration\u003c/code\u003e\u003c/strong\u003e — repeated literal or index-derived \u003ccode\u003elayoutId\u003c/code\u003e values inside \u003ccode\u003emap()\u003c/code\u003e and \u003ccode\u003eflatMap()\u003c/code\u003e callbacks. Stable item-derived IDs, conditional shared markers, and item-scoped layout groups remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-layout-on-inline-element\u003c/code\u003e\u003c/strong\u003e — proven Motion layout animations attached to an explicitly inline element, where transform-based layout animation cannot take effect. Static inline styles and unvariant Tailwind display utilities are resolved with CSS precedence.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-drag-axis-constraint-mismatch\u003c/code\u003e\u003c/strong\u003e — x-axis drags constrained only by vertical bounds, y-axis drags constrained only by horizontal bounds, and statically inverted numeric intervals. Refs, dynamic objects, spreads, and userland lookalikes remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewaapi-animation-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eElement.animate()\u003c/code\u003e calls on proven DOM receivers during component or custom-hook render, including synchronous callbacks and memo initializers. Effects, handlers, deferred work, module scope, and userland methods remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eweb-animation-offsets-valid\u003c/code\u003e\u003c/strong\u003e — Web Animations keyframe offsets outside \u003ccode\u003e[0, 1]\u003c/code\u003e or in descending order, across array-form and property-indexed keyframes. Equal, missing, null, dynamic, and spread-backed offsets remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-conflicting-spring-options\u003c/code\u003e\u003c/strong\u003e — proven Motion transition objects that combine physics spring controls (\u003ccode\u003estiffness\u003c/code\u003e, \u003ccode\u003edamping\u003c/code\u003e, or \u003ccode\u003emass\u003c/code\u003e) with duration controls (\u003ccode\u003eduration\u003c/code\u003e or \u003ccode\u003ebounce\u003c/code\u003e) that Motion ignores. Handles direct and nested transition objects while skipping dynamic and spread-overridden configurations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eprefer-motion-transform-property\u003c/code\u003e\u003c/strong\u003e — opt-in guidance for compositor-critical Motion animations that use individual transform keys instead of one directly accelerated \u003ccode\u003etransform\u003c/code\u003e value. Scope resolution limits findings to actual Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epointer-capture-needs-cancel-handler\u003c/code\u003e\u003c/strong\u003e — manual intrinsic-element drags that capture their pointer and define move/up handling without a pointer-cancel or lost-capture cleanup path. Requires a proven local \u003ccode\u003eevent.currentTarget.setPointerCapture(event.pointerId)\u003c/code\u003e call and skips spreads, custom components, nested callbacks, and uncertain handlers.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unthrottled-scroll-mutation\u003c/code\u003e\u003c/strong\u003e — direct animation-style writes or \u003ccode\u003eElement.animate()\u003c/code\u003e calls from an unthrottled native scroll listener. Read-only handlers, small class toggles, non-animation style changes, timer throttles, and unknown emitters remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unbounded-animation-frame-loop\u003c/code\u003e\u003c/strong\u003e — opt-in detection for a self-rescheduling \u003ccode\u003erequestAnimationFrame\u003c/code\u003e callback with no stop gate and no retained request ID.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-layout-property-animation\u003c/code\u003e\u003c/strong\u003e (extended) — now inspects statically provable Web Animations API keyframes in addition to Motion props.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-large-animated-blur\u003c/code\u003e\u003c/strong\u003e (extended) — now covers Motion and Web Animations keyframes while no longer misclassifying a static inline blur as animation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-permanent-will-change\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes permanently active static Tailwind \u003ccode\u003ewill-change-*\u003c/code\u003e utilities while preserving state-prefixed and scroll-position cases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-global-css-variable-animation\u003c/code\u003e\u003c/strong\u003e (narrowed) — reports animated variables only on the document root or body, avoiding false positives for variables deliberately scoped to one element.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-transition-all\u003c/code\u003e\u003c/strong\u003e (extended) — now also flags the Tailwind \u003ccode\u003etransition-all\u003c/code\u003e class (was inline-\u003ccode\u003estyle\u003c/code\u003e-only). Animating every property that changes includes expensive layout properties and instant ones like focus rings; name the properties (\u003ccode\u003etransition-colors\u003c/code\u003e, \u003ccode\u003etransition-transform\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-tailwind-layout-transition\u003c/code\u003e\u003c/strong\u003e — Tailwind arbitrary \u003ccode\u003etransition-[width|height|top|left|right|bottom|margin|padding]\u003c/code\u003e, which animates layout properties the browser recomputes every frame. Animate \u003ccode\u003etransform\u003c/code\u003e/\u003ccode\u003eopacity\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-ease-in-motion\u003c/code\u003e\u003c/strong\u003e — exact inline, Motion, and Tailwind \u003ccode\u003eease-in\u003c/code\u003e timing that delays the visible response, including transition configuration nested inside static Motion animation targets; preserves \u003ccode\u003eease-in-out\u003c/code\u003e and dynamic timing values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-long-transition-duration\u003c/code\u003e\u003c/strong\u003e (extended) — now covers static Motion transition objects, including nested transition configuration, while preserving perpetual loops, decorative hidden motion, dynamic values, unproven components, and duration values ignored by physics-based springs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-scale-from-zero\u003c/code\u003e\u003c/strong\u003e (extended) — now covers inline transform transitions and Tailwind scale transitions in addition to proven Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-excessive-motion-stagger\u003c/code\u003e\u003c/strong\u003e — opt-in detection for proven Motion stagger intervals above 80 ms, including \u003ccode\u003estaggerChildren\u003c/code\u003e and scope-resolved \u003ccode\u003estagger()\u003c/code\u003e calls used by \u003ccode\u003edelayChildren\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-hover-only-reveal\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes statically hidden Motion opacity states revealed by \u003ccode\u003ewhileHover\u003c/code\u003e without an equivalent \u003ccode\u003ewhileFocus\u003c/code\u003e state, in addition to Tailwind hover utilities.\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/millionco/react-doctor/commit/84b999002a2e5c06a6e7538d195bcbd844e909f1\"\u003e\u003ccode\u003e84b9990\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1420\"\u003e#1420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8d4d5a82d945a02efec4a4fe033b8851df3b6729\"\u003e\u003ccode\u003e8d4d5a8\u003c/code\u003e\u003c/a\u003e docs: simplify package README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/d489fa081aed039411c7d20a14022cef76b9a0cb\"\u003e\u003ccode\u003ed489fa0\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1382\"\u003e#1382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8c4959bb7400a6d5f21cc35a8d54d0ed7faf6971\"\u003e\u003ccode\u003e8c4959b\u003c/code\u003e\u003c/a\u003e fix(rules): harden parity diagnostics (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/fc1b3a3984e5993c1eb25478cf1c154d3d4ceddc\"\u003e\u003ccode\u003efc1b3a3\u003c/code\u003e\u003c/a\u003e feat(rules): add version-gated Ink diagnostics (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/0b0b5ac52301cbfbb5abdffe4d0d9bf673325a94\"\u003e\u003ccode\u003e0b0b5ac\u003c/code\u003e\u003c/a\u003e feat(rules): add deterministic UI, accessibility, and animation diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/cd9ca68faa25d287c02f4bbdc5007e1fbe1c6fc1\"\u003e\u003ccode\u003ecd9ca68\u003c/code\u003e\u003c/a\u003e NEW_RULES: Add rule analysis foundation and 56 rules (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1402\"\u003e#1402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/90e794f76b5350653b1decbec54f386f8ff465e4\"\u003e\u003ccode\u003e90e794f\u003c/code\u003e\u003c/a\u003e test: cover ref mutation inline suppression (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/88114a23321a73a2546fdc9db5902ffc0a0e49db\"\u003e\u003ccode\u003e88114a2\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;NEW_RULES: Add rule analysis foundation\u0026quot; (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1401\"\u003e#1401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/3018538b7c245461057ca6ce01177b2e0bc28d75\"\u003e\u003ccode\u003e3018538\u003c/code\u003e\u003c/a\u003e NEW_RULES: Add rule analysis foundation (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.8.3/packages/react-doctor\"\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/ant-design/ant-design-pro/pull/11915","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-design%2Fant-design-pro/issues/11915","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11915/packages"},{"uuid":"4847514250","node_id":"PR_kwDOTJ8tmM7vyoTE","number":5,"state":"closed","title":"Bump the dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-13T15:17:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-09T15:16:42.000Z","updated_at":"2026-07-13T15:17:57.000Z","time_to_close":345673,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":5,"packages":[{"name":"@commitlint/cli","old_version":"21.1.0","new_version":"21.2.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.1.0","new_version":"21.2.0"},{"name":"@types/node","old_version":"26.0.0","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-doctor","old_version":"0.5.8","new_version":"0.7.3","repository_url":"https://github.com/millionco/react-doctor"},{"name":"typescript","old_version":"6.0.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 4 updates in the / directory: [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) and [typescript](https://github.com/microsoft/TypeScript).\n\nUpdates `@commitlint/cli` from 21.1.0 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.1\u003c/h2\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\u003ch3\u003eChore, doc, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(read): replace deprecated git-raw-commits with git-client by \u003ca href=\"https://github.com/igordanchenko\"\u003e\u003ccode\u003e@​igordanchenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4860\"\u003econventional-changelog/commitlint#4860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(issue-template): ask for package manager and version 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/4867\"\u003econventional-changelog/commitlint#4867\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/igordanchenko\"\u003e\u003ccode\u003e@​igordanchenko\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4860\"\u003econventional-changelog/commitlint#4860\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.0...v21.2.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.0...v21.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.2.0\u003c/h2\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\u003efeat(resolve-extends): resolve pure-ESM presets (conventional-changelog v7/v9/v10) 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/4859\"\u003econventional-changelog/commitlint#4859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: install git in stock-Ubuntu baseline job 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/4847\"\u003econventional-changelog/commitlint#4847\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.1.0...v21.2.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0\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.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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.1/@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.1.0 to 21.2.0\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.0\u003c/h2\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\u003efeat(resolve-extends): resolve pure-ESM presets (conventional-changelog v7/v9/v10) 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/4859\"\u003econventional-changelog/commitlint#4859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: install git in stock-Ubuntu baseline job 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/4847\"\u003econventional-changelog/commitlint#4847\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.1.0...v21.2.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0\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\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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.0/@commitlint/config-conventional\"\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.0.0 to 26.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/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 `react-doctor` from 0.5.8 to 0.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.7.2\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/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Align 30+ rules with their documented behavior, fixing the false-positive clusters confirmed by a validation pass of 2,143 sampled diagnostics against the official rule prompts. Highlights: \u003ccode\u003ejsx-key\u003c/code\u003e now flags key-after-spread (the documented hazard) instead of the safe key-before-spread shape and exempts props rest parameters; \u003ccode\u003eno-did-update-set-state\u003c/code\u003e honors the prop-comparison guard exemption; \u003ccode\u003eno-console\u003c/code\u003e skips Node CLI scripts; \u003ccode\u003ecircular-dependency\u003c/code\u003e skips type-only, lazy-import, and render-time-only cycles; \u003ccode\u003equery-mutation-missing-invalidation\u003c/code\u003e exempts read-only mutations; \u003ccode\u003einsecure-crypto-risk\u003c/code\u003e requires cryptographic context instead of matching identifier names; \u003ccode\u003eno-unknown-property\u003c/code\u003e allows valid hyphenated SVG attributes; \u003ccode\u003eno-aria-hidden-on-focusable\u003c/code\u003e verifies the element is actually focusable; \u003ccode\u003eno-flush-sync\u003c/code\u003e implements the documented DOM-measurement carve-out.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1069\"\u003e#1069\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5809083017d77962e22d257578458dc02cdebe14\"\u003e\u003ccode\u003e5809083\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003e--supply-chain\u003c/code\u003e / \u003ccode\u003e--no-supply-chain\u003c/code\u003e CLI flags to toggle the dependency supply-chain scan, mirroring \u003ccode\u003e--lint\u003c/code\u003e/\u003ccode\u003e--no-lint\u003c/code\u003e and \u003ccode\u003e--dead-code\u003c/code\u003e/\u003ccode\u003e--no-dead-code\u003c/code\u003e. Supply-chain enablement now resolves as a scan option (\u003ccode\u003eInspectOptions.supplyChain\u003c/code\u003e) against \u003ccode\u003esupplyChain.enabled\u003c/code\u003e — the flag wins — so it takes precedence over per-project config on every scan (a workspace module's config can't undo \u003ccode\u003e--no-supply-chain\u003c/code\u003e), and config isn't mutated so \u003ccode\u003escan.hasCustomConfig\u003c/code\u003e telemetry stays accurate. The enabled state also rides the per-scan wide event as \u003ccode\u003escan.supplyChain\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1083\"\u003e#1083\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/skoshx\"\u003e\u003ccode\u003e@​skoshx\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003equery-destructure-result\u003c/code\u003e no longer classifies rest-destructuring (\u003ccode\u003econst { data, ...rest } = query\u003c/code\u003e) — that shape is \u003ccode\u003equery-no-rest-destructuring\u003c/code\u003e's territory, and claiming it in both rules reported the same line twice (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/1082\"\u003e#1082\u003c/a\u003e). The rule now fires only on the consumption it uniquely owns: spreading the whole TanStack Query result into JSX (\u003ccode\u003e\u0026lt;Inner {...query} /\u0026gt;\u003c/code\u003e) or an object literal, which enumerates every field and subscribes the component to all of them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1070\"\u003e#1070\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/64452aacab9770ac8a01ebab221addeedb594b77\"\u003e\u003ccode\u003e64452aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix whole-repo scan cache replaying another project's diagnostics when a .git-less checkout sits inside an unrelated repository (e.g. a gitignored benchmark/mining clone directory reused across projects). The cache key's git identity (HEAD sha, worktree fingerprint) resolved from the enclosing repository, which cannot see the checkout's files, so two different projects materialized at the same path keyed identically. The key now requires the fingerprinted repository to actually track files under the project directory (cache off otherwise), and every cache hit re-verifies the stored payload's directory and \u003ccode\u003epackage.json\u003c/code\u003e content hash so any future keying bug of this class degrades to a miss instead of a cross-project replay.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Third-round FP sweep: honor \u003ccode\u003eeslint-disable react-hooks/\u0026lt;rule\u0026gt;\u003c/code\u003e spellings for React Compiler diagnostics, suppress \u003ccode\u003eimmutability\u003c/code\u003e findings inside Reanimated worklets, skip the vulnerability axis for devDependencies in supply-chain scoring, suppress \u003ccode\u003equery-no-usequery-for-mutation\u003c/code\u003e for polled/read-verb POST endpoints, prune compile-time-erased edges from circular-dependency detection, and fix unused-export/unused-file/unused-dev-dependency false positives in deslop-js.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/1880b152e4d6aedd5c06cf2ca51783e53cfb4004\"\u003e\u003ccode\u003e1880b15\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.2\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\u003c/li\u003e\n\u003cli\u003eThe programmatic API mirrors the signal: \u003ccode\u003ediagnose()\u003c/code\u003e results carry \u003ccode\u003ereactDetected\u003c/code\u003e (\u003ccode\u003eDiagnoseResult.reactDetected\u003c/code\u003e, per-project on \u003ccode\u003eProjectResultOk\u003c/code\u003e, aggregate on \u003ccode\u003eDiagnoseProjectsResult\u003c/code\u003e — absent when no project scanned successfully), and the \u003ccode\u003ehasReactRuntime(project)\u003c/code\u003e predicate is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e and \u003ccode\u003e@react-doctor/api\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/c0c3fc170972876c8bbc2419b32e66b9c864df85\"\u003e\u003ccode\u003ec0c3fc1\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.1\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.7.0\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/millionco/react-doctor/pull/1060\"\u003e#1060\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - The whole cache stack now survives CI's fresh checkouts, so the GitHub Action's persisted \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e actually warms every layer instead of only the content-addressed ones. The whole-repo scan-result cache moves under the shared per-project cache root (honoring \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e like the lint, sidecar, dead-code, and supply-chain caches — previously it silently escaped the action's cache into \u003ccode\u003enode_modules/.cache\u003c/code\u003e or the OS temp dir), and its key drops every stat-based fingerprint that a re-clone rotates: config files and gitignored dotenv files are now content-hashed, and the toolchain is keyed by package versions (matching the lint ruleset hash) rather than install mtimes. The stat-fingerprinted dead-code caches gain mtime repair (the ninja/restat pattern): entries carry a content-hash witness, and a stat mismatch over identical bytes — every file after a fresh checkout — re-hashes once, accepts the entry, and persists the refreshed stat so the cost is paid once per checkout, not per run. This covers core's whole-project dead-code result cache (per-file \u003ccode\u003e(mtime, size, hash)\u003c/code\u003e records replacing the stats-in-key fingerprint) and deslop-js's incremental summary store (parse summaries, package-reference facts, and the manifest/bundler-config fingerprints feeding the collect/resolution hashes). Expired supply-chain score entries are also pruned past their TTL so restored cache directories stop accumulating dead purls. Everything stays fail-open and byte-identical to an uncached scan; on a re-cloned repo with one changed file, a warm scan now replays ~100% of lint, sidecar, and parse work instead of starting cold.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1056\"\u003e#1056\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Hardened the dead-code result cache key against two silent-staleness classes. The fingerprinted extension and manifest name lists are now imported from \u003ccode\u003edeslop-js/analyzed-inputs\u003c/code\u003e — a new dependency-free subpath export assembled from the same constants deslop's own readers consume — so a deslop upgrade that widens its walk can never under-invalidate the cache. And the key now includes \u003ccode\u003e@react-doctor/core\u003c/code\u003e's own version, so upgrading react-doctor re-analyzes instead of replaying cached diagnostics shaped by an older core's post-processing. The cache schema-version constant remains for cache-format changes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1053\"\u003e#1053\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rescans now skip the dead-code analysis entirely when nothing it reads has changed. The pass persists its diagnostics keyed by a fingerprint over the analyzed source tree (stat-based, so additions, deletions, and edits all invalidate), the project's manifests, tsconfigs, lockfiles, knip/entry/ignore configuration, and the analyzer version — on an unchanged-input rerun the stored result replays instead of re-walking the whole import graph, cutting several seconds off warm rescans of large repos. Only complete, successful passes are stored; \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1057\"\u003e#1057\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Dead-code analysis is now incremental across scans. deslop-js gains an opt-in \u003ccode\u003eincrementalCachePath\u003c/code\u003e config field: one stat walk per run (following directory symlinks, like the glob scans it stands in for) validates four independently keyed layers — per-file parse summaries (mtime+size), the collected file list, the module-resolution map (dropped whenever the file set or a bundler/tsconfig-like config changes, since resolution is file-set-dependent), and the per-file package-reference facts behind the unused-dependency content scans. The same walk also answers the stale-package file-discovery globs (config/docs/rescue/package.json/nx/tsconfig scans, verified byte-identical against fast-glob), so a cached run never re-walks the tree for them. Entry resolution deliberately stays live every run (it reads config/doc/sibling-source content no fingerprint can validate); on cached runs it moves to a dedicated worker thread so its filesystem work overlaps the main-thread analysis instead of serializing after it. Every layer fails open — corrupt, truncated, or version/config-mismatched stores degrade to a fresh computation, never a wrong result — writes are atomic and skipped when clean, and results are byte-identical to an uncached run. Unused-export detection also indexes re-export edges by source module, dropping an O(entry points × edges) scan that dominated the detector on large repos.\u003c/p\u003e\n\u003cp\u003ereact-doctor points the analysis worker at a per-project summary store next to the existing whole-result dead-code cache, so a changed-files rescan of a large repo re-parses only what changed (sentry, 9k files: ~8.0s → ~3.2s with 0-10 files edited; ~4.0s after adding a file; the cache-fill run costs the same as an uncached scan). The worker also stops running the discarded DRY-pattern redundancy detectors (\u003ccode\u003ereportRedundancy: false\u003c/code\u003e), which shrinks the summary store by dropping fields only those detectors read, and reports the cache outcome as \u003ccode\u003edeadCode.summaryCacheHits\u003c/code\u003e / \u003ccode\u003edeadCode.summaryCacheMisses\u003c/code\u003e in anonymized telemetry (absent whenever no analysis consulted the store). \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1054\"\u003e#1054\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Instant reruns now also work with uncommitted changes: the whole-repo scan-result cache no longer requires a clean worktree — it keys on the exact dirty state (every modified, staged, renamed, deleted, and untracked path plus a hash of its content), so rescanning the same work-in-progress tree hits the cache while any edit still invalidates it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1052\"\u003e#1052\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Restore instant reruns on large repos: raise \u003ccode\u003erunGit\u003c/code\u003e's output cap so the whole-repo scan-result cache works past ~15k tracked files.\u003c/p\u003e\n\u003cp\u003eThe cache's clean-worktree gates shell out to git through a helper that used Node's default 1 MiB \u003ccode\u003emaxBuffer\u003c/code\u003e. On repos with roughly 15-25k tracked files (getsentry/sentry: 20,343), \u003ccode\u003egit ls-files -v\u003c/code\u003e alone exceeds that, \u003ccode\u003eexecFileSync\u003c/code\u003e throws ENOBUFS, the helper swallows it into \u003ccode\u003enull\u003c/code\u003e, and the gates read \u003ccode\u003enull\u003c/code\u003e as \u0026quot;hidden tracked state\u0026quot; — so the cache silently never stored or served a scan on exactly the repos where the instant-rerun path saves the most time. The helper now runs with an explicit 64 MiB cap, which clears monorepos with hundreds of thousands of files while still bounding a pathological child process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1058\"\u003e#1058\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Warm rescans now skip the cross-file lint sidecar for files whose dependencies are unchanged. Previously the per-file lint cache replayed most rules but re-linted EVERY file with the cross-file ruleset (\u003ccode\u003eno-barrel-import\u003c/code\u003e, the Next.js metadata/Suspense rules, \u003ccode\u003eno-mutating-reducer-state\u003c/code\u003e, the React Native text rules) on every scan, because a sibling edit can flip an unchanged file's verdict. Each file now carries a dependency fingerprint — the exact set of filesystem probes (resolved import targets, barrel chains, ancestor layouts, nearest package.json/tsconfig, and the negative resolution candidates that catch shadowing) its cross-file rules consulted — and the sidecar replays the stored diagnostics when every probe still answers the same, re-linting only files whose dependency set changed. Every entry fails open (corrupt store, unparseable file, partial lint → fresh re-lint), a cross-file rule without a registered dependency collector re-lints everywhere, and \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_SIDECAR_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.3\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/millionco/react-doctor/pull/978\"\u003e#978\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/b97a92f6111394d6fc01fae5b43b2bb5bf892b64\"\u003e\u003ccode\u003eb97a92f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/976\"\u003e#976\u003c/a\u003e: Next.js projects using \u003ccode\u003eoutput: \u0026quot;export\u0026quot;\u003c/code\u003e (static export) no longer receive server-only fix recommendations that are impossible without a request-time server. \u003ccode\u003eserver-fetch-without-revalidate\u003c/code\u003e is gated off, \u003ccode\u003enextjs-no-client-side-redirect\u003c/code\u003e keeps firing but its advice drops the middleware / \u003ccode\u003egetServerSideProps\u003c/code\u003e clause (recommending a render-time or client-side redirect instead), and \u003ccode\u003eno-prevent-default\u003c/code\u003e emits the framework-neutral \u003ccode\u003e\u0026lt;form\u0026gt;\u003c/code\u003e message rather than recommending Server Actions. The detection also works when the static export lives in a workspace: a monorepo-root scan whose \u003ccode\u003eapps/web\u003c/code\u003e sets \u003ccode\u003eoutput: \u0026quot;export\u0026quot;\u003c/code\u003e is now recognized (the config is read next to the manifest that supplies the \u003ccode\u003enext\u003c/code\u003e dependency).\u003c/p\u003e\n\u003cp\u003eUnder the hood this refactors framework gating into one typed capability vocabulary — a \u003ccode\u003eCapability\u003c/code\u003e union both \u003ccode\u003erequires\u003c/code\u003e/\u003ccode\u003edisabledWhen\u003c/code\u003e metadata and the runtime \u003ccode\u003ehasCapability(settings, …)\u003c/code\u003e check compile against, so a misspelled token fails \u003ccode\u003etsc\u003c/code\u003e instead of silently never matching. Rules own their capability-conditioned prose via a new \u003ccode\u003erecommendationFor(hasCapability)\u003c/code\u003e hook (core no longer rewrites specific rules' advice), and \u003ccode\u003eno-prevent-default\u003c/code\u003e's hardcoded SPA framework list is replaced by the new \u003ccode\u003eclient-only\u003c/code\u003e capability. ESLint-plugin users who suppressed the \u003ccode\u003e\u0026lt;form\u0026gt;\u003c/code\u003e variant via \u003ccode\u003esettings[\u0026quot;react-doctor\u0026quot;].framework\u003c/code\u003e should now set \u003ccode\u003esettings[\u0026quot;react-doctor\u0026quot;].capabilities: [\u0026quot;client-only\u0026quot;]\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eProject discovery now traverses workspaces once instead of up to ~7 times (one pass collects react/tailwind/zod/framework, React Native awareness, reanimated, expo, flash-list, and next facts), and workspace precedence is sorted-deterministic instead of filesystem readdir order — on multi-workspace repos where several packages could supply the framework or React version signal, the first in sorted walk order now consistently wins.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - New rule \u003ccode\u003eno-locale-format-in-render\u003c/code\u003e (warn, SSR-capable projects only): flags locale/timezone-dependent formatting evaluated during render — \u003ccode\u003etoLocaleString\u003c/code\u003e / \u003ccode\u003etoLocaleDateString\u003c/code\u003e / \u003ccode\u003etoLocaleTimeString\u003c/code\u003e on date-shaped receivers, \u003ccode\u003eIntl.DateTimeFormat(...).format(...)\u003c/code\u003e, and \u003ccode\u003eDate\u003c/code\u003e default stringification — because the server's locale and timezone differ from the browser's, causing hydration mismatches. Number formatting (\u003ccode\u003eIntl.NumberFormat\u003c/code\u003e, bare \u003ccode\u003etoLocaleString()\u003c/code\u003e on numbers) is deliberately out of scope: its only environment input is the ICU locale, a far weaker mismatch signal that was almost always client-fetched dashboard data in corpus validation. Formatting with an explicit locale and timeZone, inside event handlers or effects, behind client-only guards, or under \u003ccode\u003esuppressHydrationWarning\u003c/code\u003e stays unflagged. \u003ccode\u003erendering-hydration-no-flicker\u003c/code\u003e gained a matching escape so the recommended post-mount \u003ccode\u003euseEffect\u003c/code\u003e + state fix is never flagged as a flicker.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1103\"\u003e#1103\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/08b768bb4a7ce80927f7ad15bc3850a1f7585457\"\u003e\u003ccode\u003e08b768b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Rescue oxlint OOM-dropped files with a serial replay instead of reporting a partial scan. When a parallel lint pass drops files because oxlint's native binding SIGABRT'd under memory pressure (oxc's fixed-size allocator panics when N concurrent oxlint processes compete for memory on very large packages), those files are now replayed once, serially, one single-file batch each — the memory pressure is usually a function of sibling processes, not the file itself, so the replay typically completes the scan. Only files that still fail alone stay dropped and reported.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - prefer-use-sync-external-store now detects hand-rolled module-scope stores: a mutable module binding plus a listener registry and same-file subscribe function, consumed as \u003ccode\u003euseState(sharedState)\u003c/code\u003e with a \u003ccode\u003euseEffect(() =\u0026gt; subscribe(setState), [])\u003c/code\u003e. Publishes fired between the render-time snapshot and the effect-time subscription are lost and concurrent renders can tear — \u003ccode\u003euseSyncExternalStore(subscribe, getSnapshot)\u003c/code\u003e is the fix. Genuine \u003ccode\u003euseSyncExternalStore\u003c/code\u003e usage, imported subscribe functions, and effects with non-empty dependencies stay unflagged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1102\"\u003e#1102\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/da7bb4bfc685e2436bf5202c17ac7596d86ae270\"\u003e\u003ccode\u003eda7bb4b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - no-react19-deprecated-apis no longer flags \u003ccode\u003euseContext\u003c/code\u003e. React 19's \u003ccode\u003euse()\u003c/code\u003e is an additive alternative — \u003ccode\u003euseContext\u003c/code\u003e remains a fully supported, non-deprecated API, so calling it deprecated was misinformation. The rule still flags \u003ccode\u003eforwardRef\u003c/code\u003e (both named imports and \u003ccode\u003eReact.forwardRef\u003c/code\u003e member access) on React 19+ projects.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Detection robustness against verdict-preserving source rewrites: rules no longer go silent when the same defect is spelled with a slightly different shape. \u003ccode\u003eDate.now()\u003c/code\u003e / \u003ccode\u003eMath.random()\u003c/code\u003e / \u003ccode\u003eperformance.now()\u003c/code\u003e / \u003ccode\u003ecrypto.randomUUID()\u003c/code\u003e and namespace-import calls like \u003ccode\u003eReact.forwardRef\u003c/code\u003e now match through TS cast wrappers (\u003ccode\u003e(Date as any).now()\u003c/code\u003e, \u003ccode\u003e(React!).forwardRef\u003c/code\u003e); \u003ccode\u003eprefer-use-sync-external-store\u003c/code\u003e recognizes resync handlers written as block-bodied returns (\u003ccode\u003e() =\u0026gt; { return setX(read()); }\u003c/code\u003e); and effect-body analyses (\u003ccode\u003eno-derived-state-effect\u003c/code\u003e, \u003ccode\u003erendering-hydration-no-flicker\u003c/code\u003e, and everything on \u003ccode\u003egetCallbackStatements\u003c/code\u003e) skip no-op statements (\u003ccode\u003evoid 0;\u003c/code\u003e, stray directives) instead of letting them flip a \u0026quot;body contains only setState\u0026quot; check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/cb8f7268530911910bc572bf697614d32674e56a\"\u003e\u003ccode\u003ecb8f726\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9948af13715741788f2ed81cb738a35a0dce35\"\u003e\u003ccode\u003eee9948a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/82e0475b0b5af5e17a2714862d2a717a5a914e90\"\u003e\u003ccode\u003e82e0475\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/f10f9ca8a622befea1e1972cd25ceb5e3ecb3f30\"\u003e\u003ccode\u003ef10f9ca\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/6680538e14dcff2f2cac36422b124e0df3912798\"\u003e\u003ccode\u003e6680538\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fb8ffb0f769532c035baac27443738f4ba84870b\"\u003e\u003ccode\u003efb8ffb0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b97a92f6111394d6fc01fae5b43b2bb5bf892b64\"\u003e\u003ccode\u003eb97a92f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3e94e37c467ab958190094dad2b582580be9c0\"\u003e\u003ccode\u003eea3e94e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/11e9c87340eb3b83e604107f8c264417be178b0a\"\u003e\u003ccode\u003e11e9c87\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/63e065739f615310922041866b742f23e57c8a12\"\u003e\u003ccode\u003e63e0657\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/2953b2592d464afd3dde8eba85f5400fb7863a90\"\u003e\u003ccode\u003e2953b25\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/02b1f82dd0c6fdf5a8fbbe5bab16c2384ae41bd0\"\u003e\u003ccode\u003e02b1f82\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/da7bb4bfc685e2436bf5202c17ac7596d86ae270\"\u003e\u003ccode\u003eda7bb4b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/f83092d9313bc1cae41d8e0a154bd943b7414dd3\"\u003e\u003ccode\u003ef83092d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/dfdc763bad8a068aaf4b47aaf23b6f83d720cf40\"\u003e\u003ccode\u003edfdc763\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.3\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.2\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/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Align 30+ rules with their documented behavior, fixing the false-positive clusters confirmed by a validation pass of 2,143 sampled diagnostics against the official rule prompts. Highlights: \u003ccode\u003ejsx-key\u003c/code\u003e now flags key-after-spread (the documented hazard) instead of the safe key-before-spread shape and exempts props rest parameters; \u003ccode\u003eno-did-update-set-state\u003c/code\u003e honors the prop-comparison guard exemption; \u003ccode\u003eno-console\u003c/code\u003e skips Node CLI scripts; \u003ccode\u003ecircular-dependency\u003c/code\u003e skips type-only, lazy-import, and render-time-only cycles; \u003ccode\u003equery-mutation-missing-invalidation\u003c/code\u003e exempts read-only mutations; \u003ccode\u003einsecure-crypto-risk\u003c/code\u003e requires cryptographic context instead of matching identifier names; \u003ccode\u003eno-unknown-property\u003c/code\u003e allows valid hyphenated SVG attributes; \u003ccode\u003eno-aria-hidden-on-focusable\u003c/code\u003e verifies the element is actually focusable; \u003ccode\u003eno-flush-sync\u003c/code\u003e implements the documented DOM-measurement carve-out.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1069\"\u003e#1069\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5809083017d77962e22d257578458dc02cdebe14\"\u003e\u003ccode\u003e5809083\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003e--supply-chain\u003c/code\u003e / \u003ccode\u003e--no-supply-chain\u003c/code\u003e CLI flags to toggle the dependency supply-chain scan, mirroring \u003ccode\u003e--lint\u003c/code\u003e/\u003ccode\u003e--no-lint\u003c/code\u003e and \u003ccode\u003e--dead-code\u003c/code\u003e/\u003ccode\u003e--no-dead-code\u003c/code\u003e. Supply-chain enablement now resolves as a scan option (\u003ccode\u003eInspectOptions.supplyChain\u003c/code\u003e) against \u003ccode\u003esupplyChain.enabled\u003c/code\u003e — the flag wins — so it takes precedence over per-project config on every scan (a workspace module's config can't undo \u003ccode\u003e--no-supply-chain\u003c/code\u003e), and config isn't mutated so \u003ccode\u003escan.hasCustomConfig\u003c/code\u003e telemetry stays accurate. The enabled state also rides the per-scan wide event as \u003ccode\u003escan.supplyChain\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1083\"\u003e#1083\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/skoshx\"\u003e\u003ccode\u003e@​skoshx\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003equery-destructure-result\u003c/code\u003e no longer classifies rest-destructuring (\u003ccode\u003econst { data, ...rest } = query\u003c/code\u003e) — that shape is \u003ccode\u003equery-no-rest-destructuring\u003c/code\u003e's territory, and claiming it in both rules reported the same line twice (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/1082\"\u003e#1082\u003c/a\u003e). The rule now fires only on the consumption it uniquely owns: spreading the whole TanStack Query result into JSX (\u003ccode\u003e\u0026lt;Inner {...query} /\u0026gt;\u003c/code\u003e) or an object literal, which enumerates every field and subscribes the component to all of them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1070\"\u003e#1070\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/64452aacab9770ac8a01ebab221addeedb594b77\"\u003e\u003ccode\u003e64452aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix whole-repo scan cache replaying another project's diagnostics when a .git-less checkout sits inside an unrelated repository (e.g. a gitignored benchmark/mining clone directory reused across projects). The cache key's git identity (HEAD sha, worktree fingerprint) resolved from the enclosing repository, which cannot see the checkout's files, so two different projects materialized at the same path keyed identically. The key now requires the fingerprinted repository to actually track files under the project directory (cache off otherwise), and every cache hit re-verifies the stored payload's directory and \u003ccode\u003epackage.json\u003c/code\u003e content hash so any future keying bug of this class degrades to a miss instead of a cross-project replay.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Third-round FP sweep: honor \u003ccode\u003eeslint-disable react-hooks/\u0026lt;rule\u0026gt;\u003c/code\u003e spellings for React Compiler diagnostics, suppress \u003ccode\u003eimmutability\u003c/code\u003e findings inside Reanimated worklets, skip the vulnerability axis for devDependencies in supply-chain scoring, suppress \u003ccode\u003equery-no-usequery-for-mutation\u003c/code\u003e for polled/read-verb POST endpoints, prune compile-time-erased edges from circular-dependency detection, and fix unused-export/unused-file/unused-dev-dependency false positives in deslop-js.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/1880b152e4d6aedd5c06cf2ca51783e53cfb4004\"\u003e\u003ccode\u003e1880b15\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.2\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\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/millionco/react-doctor/commit/fcb203ee80a2891e66a4bd2f932443b8d1dc3347\"\u003e\u003ccode\u003efcb203e\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1086\"\u003e#1086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e RB-COMP-FIX: severity re-categorizations — align rule families at warn (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/b97a92f6111394d6fc01fae5b43b2bb5bf892b64\"\u003e\u003ccode\u003eb97a92f\u003c/code\u003e\u003c/a\u003e refactor(capabilities): unify framework gating into one capability vocabulary...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/aa519e5f5505105ef8c00e1b1972c98514f7577a\"\u003e\u003ccode\u003eaa519e5\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e fix(oxlint-plugin): precision sweep — narrow 40+ rules against verified FPs f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5809083017d77962e22d257578458dc02cdebe14\"\u003e\u003ccode\u003e5809083\u003c/code\u003e\u003c/a\u003e feat(cli): add --supply-chain / --no-supply-chain to toggle the dependency sc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/64452aacab9770ac8a01ebab221addeedb594b77\"\u003e\u003ccode\u003e64452aa\u003c/code\u003e\u003c/a\u003e fix(cli): scan cache no longer replays across projects at a reused path (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/160f84c6ccaf36312ef44a585547bb32b72c2aa6\"\u003e\u003ccode\u003e160f84c\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e feat(core): surface reactDetected so a gated-off scan can't pass for clean (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/574cba6e94b99776cfad671fe6709a24ea919624\"\u003e\u003ccode\u003e574cba6\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/eslint-plugin-react-doctor@0.7.3/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 6.0.3 to 7.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/TypeScript/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/~microsoft1es\"\u003emicrosoft1es\u003c/a\u003e, a new releaser for typescript since your current version.\u003c/p\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/lui00000/Dominios-/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lui00000%2FDominios-/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4833545769","node_id":"PR_kwDOOWvFYM7vE-Pq","number":288,"state":"open","title":"build(deps-dev): bump the minor-updates group across 1 directory with 2 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-07-08T01:33:59.000Z","updated_at":"2026-07-08T01:37:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"minor-updates","update_count":2,"packages":[{"name":"react-doctor","old_version":"0.6.1","new_version":"0.7.1","repository_url":"https://github.com/millionco/react-doctor"},{"name":"wrangler","old_version":"4.107.0","new_version":"4.108.0","repository_url":"https://github.com/cloudflare/workers-sdk"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-updates group with 2 updates in the / directory: [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler).\n\nUpdates `react-doctor` from 0.6.1 to 0.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\u003c/li\u003e\n\u003cli\u003eThe programmatic API mirrors the signal: \u003ccode\u003ediagnose()\u003c/code\u003e results carry \u003ccode\u003ereactDetected\u003c/code\u003e (\u003ccode\u003eDiagnoseResult.reactDetected\u003c/code\u003e, per-project on \u003ccode\u003eProjectResultOk\u003c/code\u003e, aggregate on \u003ccode\u003eDiagnoseProjectsResult\u003c/code\u003e — absent when no project scanned successfully), and the \u003ccode\u003ehasReactRuntime(project)\u003c/code\u003e predicate is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e and \u003ccode\u003e@react-doctor/api\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/c0c3fc170972876c8bbc2419b32e66b9c864df85\"\u003e\u003ccode\u003ec0c3fc1\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.1\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.7.0\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/millionco/react-doctor/pull/1060\"\u003e#1060\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - The whole cache stack now survives CI's fresh checkouts, so the GitHub Action's persisted \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e actually warms every layer instead of only the content-addressed ones. The whole-repo scan-result cache moves under the shared per-project cache root (honoring \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e like the lint, sidecar, dead-code, and supply-chain caches — previously it silently escaped the action's cache into \u003ccode\u003enode_modules/.cache\u003c/code\u003e or the OS temp dir), and its key drops every stat-based fingerprint that a re-clone rotates: config files and gitignored dotenv files are now content-hashed, and the toolchain is keyed by package versions (matching the lint ruleset hash) rather than install mtimes. The stat-fingerprinted dead-code caches gain mtime repair (the ninja/restat pattern): entries carry a content-hash witness, and a stat mismatch over identical bytes — every file after a fresh checkout — re-hashes once, accepts the entry, and persists the refreshed stat so the cost is paid once per checkout, not per run. This covers core's whole-project dead-code result cache (per-file \u003ccode\u003e(mtime, size, hash)\u003c/code\u003e records replacing the stats-in-key fingerprint) and deslop-js's incremental summary store (parse summaries, package-reference facts, and the manifest/bundler-config fingerprints feeding the collect/resolution hashes). Expired supply-chain score entries are also pruned past their TTL so restored cache directories stop accumulating dead purls. Everything stays fail-open and byte-identical to an uncached scan; on a re-cloned repo with one changed file, a warm scan now replays ~100% of lint, sidecar, and parse work instead of starting cold.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1056\"\u003e#1056\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Hardened the dead-code result cache key against two silent-staleness classes. The fingerprinted extension and manifest name lists are now imported from \u003ccode\u003edeslop-js/analyzed-inputs\u003c/code\u003e — a new dependency-free subpath export assembled from the same constants deslop's own readers consume — so a deslop upgrade that widens its walk can never under-invalidate the cache. And the key now includes \u003ccode\u003e@react-doctor/core\u003c/code\u003e's own version, so upgrading react-doctor re-analyzes instead of replaying cached diagnostics shaped by an older core's post-processing. The cache schema-version constant remains for cache-format changes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1053\"\u003e#1053\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rescans now skip the dead-code analysis entirely when nothing it reads has changed. The pass persists its diagnostics keyed by a fingerprint over the analyzed source tree (stat-based, so additions, deletions, and edits all invalidate), the project's manifests, tsconfigs, lockfiles, knip/entry/ignore configuration, and the analyzer version — on an unchanged-input rerun the stored result replays instead of re-walking the whole import graph, cutting several seconds off warm rescans of large repos. Only complete, successful passes are stored; \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1057\"\u003e#1057\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Dead-code analysis is now incremental across scans. deslop-js gains an opt-in \u003ccode\u003eincrementalCachePath\u003c/code\u003e config field: one stat walk per run (following directory symlinks, like the glob scans it stands in for) validates four independently keyed layers — per-file parse summaries (mtime+size), the collected file list, the module-resolution map (dropped whenever the file set or a bundler/tsconfig-like config changes, since resolution is file-set-dependent), and the per-file package-reference facts behind the unused-dependency content scans. The same walk also answers the stale-package file-discovery globs (config/docs/rescue/package.json/nx/tsconfig scans, verified byte-identical against fast-glob), so a cached run never re-walks the tree for them. Entry resolution deliberately stays live every run (it reads config/doc/sibling-source content no fingerprint can validate); on cached runs it moves to a dedicated worker thread so its filesystem work overlaps the main-thread analysis instead of serializing after it. Every layer fails open — corrupt, truncated, or version/config-mismatched stores degrade to a fresh computation, never a wrong result — writes are atomic and skipped when clean, and results are byte-identical to an uncached run. Unused-export detection also indexes re-export edges by source module, dropping an O(entry points × edges) scan that dominated the detector on large repos.\u003c/p\u003e\n\u003cp\u003ereact-doctor points the analysis worker at a per-project summary store next to the existing whole-result dead-code cache, so a changed-files rescan of a large repo re-parses only what changed (sentry, 9k files: ~8.0s → ~3.2s with 0-10 files edited; ~4.0s after adding a file; the cache-fill run costs the same as an uncached scan). The worker also stops running the discarded DRY-pattern redundancy detectors (\u003ccode\u003ereportRedundancy: false\u003c/code\u003e), which shrinks the summary store by dropping fields only those detectors read, and reports the cache outcome as \u003ccode\u003edeadCode.summaryCacheHits\u003c/code\u003e / \u003ccode\u003edeadCode.summaryCacheMisses\u003c/code\u003e in anonymized telemetry (absent whenever no analysis consulted the store). \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1054\"\u003e#1054\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Instant reruns now also work with uncommitted changes: the whole-repo scan-result cache no longer requires a clean worktree — it keys on the exact dirty state (every modified, staged, renamed, deleted, and untracked path plus a hash of its content), so rescanning the same work-in-progress tree hits the cache while any edit still invalidates it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1052\"\u003e#1052\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Restore instant reruns on large repos: raise \u003ccode\u003erunGit\u003c/code\u003e's output cap so the whole-repo scan-result cache works past ~15k tracked files.\u003c/p\u003e\n\u003cp\u003eThe cache's clean-worktree gates shell out to git through a helper that used Node's default 1 MiB \u003ccode\u003emaxBuffer\u003c/code\u003e. On repos with roughly 15-25k tracked files (getsentry/sentry: 20,343), \u003ccode\u003egit ls-files -v\u003c/code\u003e alone exceeds that, \u003ccode\u003eexecFileSync\u003c/code\u003e throws ENOBUFS, the helper swallows it into \u003ccode\u003enull\u003c/code\u003e, and the gates read \u003ccode\u003enull\u003c/code\u003e as \u0026quot;hidden tracked state\u0026quot; — so the cache silently never stored or served a scan on exactly the repos where the instant-rerun path saves the most time. The helper now runs with an explicit 64 MiB cap, which clears monorepos with hundreds of thousands of files while still bounding a pathological child process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1058\"\u003e#1058\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Warm rescans now skip the cross-file lint sidecar for files whose dependencies are unchanged. Previously the per-file lint cache replayed most rules but re-linted EVERY file with the cross-file ruleset (\u003ccode\u003eno-barrel-import\u003c/code\u003e, the Next.js metadata/Suspense rules, \u003ccode\u003eno-mutating-reducer-state\u003c/code\u003e, the React Native text rules) on every scan, because a sibling edit can flip an unchanged file's verdict. Each file now carries a dependency fingerprint — the exact set of filesystem probes (resolved import targets, barrel chains, ancestor layouts, nearest package.json/tsconfig, and the negative resolution candidates that catch shadowing) its cross-file rules consulted — and the sidecar replays the stored diagnostics when every probe still answers the same, re-linting only files whose dependency set changed. Every entry fails open (corrupt store, unparseable file, partial lint → fresh re-lint), a cross-file rule without a registered dependency collector re-lints everywhere, and \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_SIDECAR_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1059\"\u003e#1059\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bdf80748eb0d186456b30aee30dbe731c06293b3\"\u003e\u003ccode\u003ebdf8074\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Added cache-temperature telemetry to the per-scan Sentry wide event, so cache effectiveness is queryable at a glance instead of being inferred from per-subsystem dims. \u003ccode\u003ecache.temperature\u003c/code\u003e classifies every scan as \u003ccode\u003eturbo\u003c/code\u003e (whole-repo scan-result replay — now marked by an explicit \u003ccode\u003ewholeRepoCacheHit\u003c/code\u003e flag on the replay path, never inferred from absent dims), \u003ccode\u003ewarm\u003c/code\u003e (any incremental reuse across the per-file lint, sidecar, or dead-code caches), \u003ccode\u003ecold\u003c/code\u003e (caches on, zero reuse), or \u003ccode\u003edisabled\u003c/code\u003e (the global \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e off-switch). \u003ccode\u003ecache.warmth\u003c/code\u003e is the numeric headline magnitude in [0, 1] — the plain mean of the known subsystem reuse fractions, skipping subsystems that never consulted a cache. The existing per-subsystem dims (\u003ccode\u003elint.cacheHitRatio\u003c/code\u003e, \u003ccode\u003elint.sidecarReplayRatio\u003c/code\u003e, \u003ccode\u003edeadCode.cacheHit\u003c/code\u003e, \u003ccode\u003edeadCode.summaryCacheHits/Misses\u003c/code\u003e) are unchanged. Telemetry-only: no new counters, no JSON-report or cache-schema changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edeslop-js@0.7.0\u003c/li\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.6.3\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/millionco/react-doctor/pull/1045\"\u003e#1045\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/fc75a3e361251885c7325324f2ab6812255b0c18\"\u003e\u003ccode\u003efc75a3e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Balance lint batches by file size (LPT) so one oversized batch no longer sets the whole scan's wall clock. The full-scan batcher greedily filled 100-file chunks in discovery order, so a directory of large files (generated modules, vendored bundles, big test fixtures — adjacent in \u003ccode\u003egit ls-files\u003c/code\u003e order) all landed in ONE batch: on a 619-file corpus with six ~240 KB files that straggler batch ran ~7.5 s while the other six workers finished in ~1 s and idled — and a big enough cluster can trip the 60 s per-batch timeout and drop files. The planner now keeps the same batch count (and therefore the same subprocess count and CPU) but assigns files largest-first to the least-loaded batch, so every batch carries an even share of files and bytes: 2.2× faster wall clock on the skewed corpus (9.7 s → 4.3 s), no measurable change on uniform repos, and diagnostics verified byte-identical on both. Splitting into MORE batches to feed idle workers was measured to regress (each extra concurrent subprocess pays a contended cold start that outweighs its smaller file share) and is deliberately not done. \u003ccode\u003eREACT_DOCTOR_LINT_BATCH_ORDERING=arrival\u003c/code\u003e rolls back to the old greedy chunking; the previous opt-in \u003ccode\u003ecost\u003c/code\u003e mode (sort-descending-then-chunk, which concentrated the heavy files instead of spreading them) is superseded by the balanced plan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1046\"\u003e#1046\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/59e817858240d4a4986ff03b8bb4f7d3355e22c6\"\u003e\u003ccode\u003e59e8178\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop lint's pre-spawn setup from starving the overlapped security-scan and supply-chain passes.\u003c/p\u003e\n\u003cp\u003eThe security scan already runs on a cooperative background fiber that overlaps the lint pass, but a forked fiber only advances when the main thread yields — and lint's synchronous pre-spawn prefix (full-scan file discovery plus the per-file cache's content-hash partition over every candidate file) held the event loop until the first oxlint subprocess spawned. The overlapped passes now start immediately: the lint runner hands the loop back once before discovery and yields on the shared cooperative time budget while hashing, and the security scan's own directory walk (previously one unyielding readdir+classify burst before its first budget checkpoint) yields walk-progress markers so large trees can't stall lint subprocess draining or concurrently-scanning sibling projects. Diagnostics are byte-identical and the report order is unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b4faf74744c730d0836235854b0233ce59a42566\"\u003e\u003ccode\u003eb4faf74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b4faf74744c730d0836235854b0233ce59a42566\"\u003e\u003ccode\u003eb4faf74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b4faf74744c730d0836235854b0233ce59a42566\"\u003e\u003ccode\u003eb4faf74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/072d37e8e4f82454d2e187114d0194f26efc1bf0\"\u003e\u003ccode\u003e072d37e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/2980d0f4ed6abfee061ac02f3a0820806f942b95\"\u003e\u003ccode\u003e2980d0f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fec491e6844d73f658f355ae2cbe86285068f0e\"\u003e\u003ccode\u003e5fec491\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/05f639910abf2b3bfc0802e9ad568ecd2b7ce13d\"\u003e\u003ccode\u003e05f6399\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/a1c8ee110e137bbc8771c8a471c20287cccd2b38\"\u003e\u003ccode\u003ea1c8ee1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fa61c2056951df2429e79d888e5f7334aaf61cfd\"\u003e\u003ccode\u003efa61c20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ac71a3b8cfc8bdd157f0f1bcd242b61ec69f9c17\"\u003e\u003ccode\u003eac71a3b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/d8628d7f21e60b0e6dfd98d76c9f24e03f7afe24\"\u003e\u003ccode\u003ed8628d7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ebeee568abf9a7ed37ed9fe0bba695e4f2a11c9f\"\u003e\u003ccode\u003eebeee56\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/da3b19c79c27945d873eb24e34431cbefa8f9938\"\u003e\u003ccode\u003eda3b19c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/6a9a73b14908272535aabab6742258b61bc2ee5c\"\u003e\u003ccode\u003e6a9a73b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\u003c/li\u003e\n\u003cli\u003eThe programmatic API mirrors the signal: \u003ccode\u003ediagnose()\u003c/code\u003e results carry \u003ccode\u003ereactDetected\u003c/code\u003e (\u003ccode\u003eDiagnoseResult.reactDetected\u003c/code\u003e, per-project on \u003ccode\u003eProjectResultOk\u003c/code\u003e, aggregate on \u003ccode\u003eDiagnoseProjectsResult\u003c/code\u003e — absent when no project scanned successfully), and the \u003ccode\u003ehasReactRuntime(project)\u003c/code\u003e predicate is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e and \u003ccode\u003e@react-doctor/api\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/c0c3fc170972876c8bbc2419b32e66b9c864df85\"\u003e\u003ccode\u003ec0c3fc1\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.1\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.0\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/millionco/react-doctor/pull/1060\"\u003e#1060\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - The whole cache stack now survives CI's fresh checkouts, so the GitHub Action's persisted \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e actually warms every layer instead of only the content-addressed ones. The whole-repo scan-result cache moves under the shared per-project cache root (honoring \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e like the lint, sidecar, dead-code, and supply-chain caches — previously it silently escaped the action's cache into \u003ccode\u003enode_modules/.cache\u003c/code\u003e or the OS temp dir), and its key drops every stat-based fingerprint that a re-clone rotates: config files and gitignored dotenv files are now content-hashed, and the toolchain is keyed by package versions (matching the lint ruleset hash) rather than install mtimes. The stat-fingerprinted dead-code caches gain mtime repair (the ninja/restat pattern): entries carry a content-hash witness, and a stat mismatch over identical bytes — every file after a fresh checkout — re-hashes once, accepts the entry, and persists the refreshed stat so the cost is paid once per checkout, not per run. This covers core's whole-project dead-code result cache (per-file \u003ccode\u003e(mtime, size, hash)\u003c/code\u003e records replacing the stats-in-key fingerprint) and deslop-js's incremental summary store (parse summaries, package-reference facts, and the manifest/bundler-config fingerprints feeding the collect/resolution hashes). Expired supply-chain score entries are also pruned past their TTL so restored cache directories stop accumulating dead purls. Everything stays fail-open and byte-identical to an uncached scan; on a re-cloned repo with one changed file, a warm scan now replays ~100% of lint, sidecar, and parse work instead of starting cold.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1056\"\u003e#1056\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Hardened the dead-code result cache key against two silent-staleness classes. The fingerprinted extension and manifest name lists are now imported from \u003ccode\u003edeslop-js/analyzed-inputs\u003c/code\u003e — a new dependency-free subpath export assembled from the same constants deslop's own readers consume — so a deslop upgrade that widens its walk can never under-invalidate the cache. And the key now includes \u003ccode\u003e@react-doctor/core\u003c/code\u003e's own version, so upgrading react-doctor re-analyzes instead of replaying cached diagnostics shaped by an older core's post-processing. The cache schema-version constant remains for cache-format changes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1053\"\u003e#1053\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rescans now skip the dead-code analysis entirely when nothing it reads has changed. The pass persists its diagnostics keyed by a fingerprint over the analyzed source tree (stat-based, so additions, deletions, and edits all invalidate), the project's manifests, tsconfigs, lockfiles, knip/entry/ignore configuration, and the analyzer version — on an unchanged-input rerun the stored result replays instead of re-walking the whole import graph, cutting several seconds off warm rescans of large repos. Only complete, successful passes are stored; \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1057\"\u003e#1057\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Dead-code analysis is now incremental across scans. deslop-js gains an opt-in \u003ccode\u003eincrementalCachePath\u003c/code\u003e config field: one stat walk per run (following directory symlinks, like the glob scans it stands in for) validates four independently keyed layers — per-file parse summaries (mtime+size), the collected file list, the module-resolution map (dropped whenever the file set or a bundler/tsconfig-like config changes, since resolution is file-set-dependent), and the per-file package-reference facts behind the unused-dependency content scans. The same walk also answers the stale-package file-discovery globs (config/docs/rescue/package.json/nx/tsconfig scans, verified byte-identical against fast-glob), so a cached run never re-walks the tree for them. Entry resolution deliberately stays live every run (it reads config/doc/sibling-source content no fingerprint can validate); on cached runs it moves to a dedicated worker thread so its filesystem work overlaps the main-thread analysis instead of serializing after it. Every layer fails open — corrupt, truncated, or version/config-mismatched stores degrade to a fresh computation, never a wrong result — writes are atomic and skipped when clean, and results are byte-identical to an uncached run. Unused-export detection also indexes re-export edges by source module, dropping an O(entry points × edges) scan that dominated the detector on large repos.\u003c/p\u003e\n\u003cp\u003ereact-doctor points the analysis worker at a per-project summary store next to the existing whole-result dead-code cache, so a changed-files rescan of a large repo re-parses only what changed (sentry, 9k files: ~8.0s → ~3.2s with 0-10 files edited; ~4.0s after adding a file; the cache-fill run costs the same as an uncached scan). The worker also stops running the discarded DRY-pattern redundancy detectors (\u003ccode\u003ereportRedundancy: false\u003c/code\u003e), which shrinks the summary store by dropping fields only those detectors read, and reports the cache outcome as \u003ccode\u003edeadCode.summaryCacheHits\u003c/code\u003e / \u003ccode\u003edeadCode.summaryCacheMisses\u003c/code\u003e in anonymized telemetry (absent whenever no analysis consulted the store). \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1054\"\u003e#1054\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Instant reruns now also work with uncommitted changes: the whole-repo scan-result cache no longer requires a clean worktree — it keys on the exact dirty state (every modified, staged, renamed, deleted, and untracked path plus a hash of its content), so rescanning the same work-in-progress tree hits the cache while any edit still invalidates it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1052\"\u003e#1052\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Restore instant reruns on large repos: raise \u003ccode\u003erunGit\u003c/code\u003e's output cap so the whole-repo scan-result cache works past ~15k tracked files.\u003c/p\u003e\n\u003cp\u003eThe cache's clean-worktree gates shell out to git through a helper that used Node's default 1 MiB \u003ccode\u003emaxBuffer\u003c/code\u003e. On repos with roughly 15-25k tracked files (getsentry/sentry: 20,343), \u003ccode\u003egit ls-files -v\u003c/code\u003e alone exceeds that, \u003ccode\u003eexecFileSync\u003c/code\u003e throws ENOBUFS, the helper swallows it into \u003ccode\u003enull\u003c/code\u003e, and the gates read \u003ccode\u003enull\u003c/code\u003e as \u0026quot;hidden tracked state\u0026quot; — so the cache silently never stored or served a scan on exactly the repos where the instant-rerun path saves the most time. The helper now runs with an explicit 64 MiB cap, which clears monorepos with hundreds of thousands of files while still bounding a pathological child process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1058\"\u003e#1058\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Warm rescans now skip the cross-file lint sidecar for files whose dependencies are unchanged. Previously the per-file lint cache replayed most rules but re-linted EVERY file with the cross-file ruleset (\u003ccode\u003eno-barrel-import\u003c/code\u003e, the Next.js metadata/Suspense rules, \u003ccode\u003eno-mutating-reducer-state\u003c/code\u003e, the React Native text rules) on every scan, because a sibling edit can flip an unchanged file's verdict. Each file now carries a dependency fingerprint — the exact set of filesystem probes (resolved import targets, barrel chains, ancestor layouts, nearest package.json/tsconfig, and the negative resolution candidates that catch shadowing) its cross-file rules consulted — and the sidecar replays the stored diagnostics when every probe still answers the same, re-linting only files whose dependency set changed. Every entry fails open (corrupt store, unparseable file, partial lint → fresh re-lint), a cross-file rule without a registered dependency collector re-lints everywhere, and \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_SIDECAR_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1059\"\u003e#1059\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bdf80748eb0d186456b30aee30dbe731c06293b3\"\u003e\u003ccode\u003ebdf8074\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Added cache-temperature telemetry to the per-scan Sentry wide event, so cache effectiveness is queryable at a glance instead of being inferred from per-subsystem dims. \u003ccode\u003ecache.temperature\u003c/code\u003e classifies every scan as \u003ccode\u003eturbo\u003c/code\u003e (whole-repo scan-result replay — now marked by an explicit \u003ccode\u003ewholeRepoCacheHit\u003c/code\u003e flag on the replay path, never inferred from absent dims), \u003ccode\u003ewarm\u003c/code\u003e (any incremental reuse across the per-file lint, sidecar, or dead-code caches), \u003ccode\u003ecold\u003c/code\u003e (caches on, zero reuse), or \u003ccode\u003edisabled\u003c/code\u003e (the global \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e off-switch). \u003ccode\u003ecache.warmth\u003c/code\u003e is the numeric headline magnitude in [0, 1] — the plain mean of the known subsystem reuse fractions, skipping subsystems that never consulted a cache. The existing per-subsystem dims (\u003ccode\u003elint.cacheHitRatio\u003c/code\u003e, \u003ccode\u003elint.sidecarReplayRatio\u003c/code\u003e, \u003ccode\u003edeadCode.cacheHit\u003c/code\u003e, \u003ccode\u003edeadCode.summaryCacheHits/Misses\u003c/code\u003e) are unchanged. Telemetry-only: no new counters, no JSON-report or cache-schema changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edeslop-js@0.7.0\u003c/li\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.6.3\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/millionco/react-doctor/pull/1045\"\u003e#1045\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/fc75a3e361251885c7325324f2ab6812255b0c18\"\u003e\u003ccode\u003efc75a3e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Balance lint batches by file size (LPT) so one oversized batch no longer sets the whole scan's wall clock. The full-scan batcher greedily filled 100-file chunks in discovery order, so a directory of large files (generated modules, vendored bundles, big test fixtures — adjacent in \u003ccode\u003egit ls-files\u003c/code\u003e order) all landed in ONE batch: on a 619-file corpus with six ~240 KB files that straggler batch ran ~7.5 s while the other six workers finished in ~1 s and idled — and a big enough cluster can trip the 60 s per-batch timeout and drop files. The planner now keeps the same batch count (and therefore the same subprocess count and CPU) but assigns files largest-first to the least-loaded batch, so every batch carries an even share of files and bytes: 2.2× faster wall clock on the skewed corpus (9.7 s → 4.3 s), no measurable change on uniform repos, and diagnostics verified byte-identical on both. Splitting into MORE batches to feed idle workers was measured to regress (each extra concurrent subprocess pays a contended cold start that outweighs its smaller file share) and is deliberately not done. \u003ccode\u003eREACT_DOCTOR_LINT_BATCH_ORDERING=arrival\u003c/code\u003e rolls back to the old greedy chunking; the previous opt-in \u003ccode\u003ecost\u003c/code\u003e mode (sort-descending-then-chunk, which concentrated the heavy files instead of spreading them) is superseded by the balanced plan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1046\"\u003e#1046\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/59e817858240d4a4986ff03b8bb4f7d3355e22c6\"\u003e\u003ccode\u003e59e8178\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop lint's pre-spawn setup from starving the overlapped security-scan and supply-chain passes.\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/millionco/react-doctor/commit/160f84c6ccaf36312ef44a585547bb32b72c2aa6\"\u003e\u003ccode\u003e160f84c\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e feat(core): surface reactDetected so a gated-off scan can't pass for clean (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/574cba6e94b99776cfad671fe6709a24ea919624\"\u003e\u003ccode\u003e574cba6\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e fix(core): make the cache stack survive CI checkouts and the action cache (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/bdf80748eb0d186456b30aee30dbe731c06293b3\"\u003e\u003ccode\u003ebdf8074\u003c/code\u003e\u003c/a\u003e feat(telemetry): classify every scan's cache temperature in the wide event (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e perf(core): incremental cross-file sidecar lint via dependency probe traces (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e perf(core): incremental dead-code analysis via a per-file summary cache (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1057\"\u003e#1057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e perf(cli): key the scan-result cache on dirty worktree content instead of bai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e perf(core): cache dead-code results so unchanged rescans skip the analysis (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e fix(cli): raise runGit maxBuffer so the scan cache works on large repos (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.7.1/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wrangler` from 4.107.0 to 4.108.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cloudflare/workers-sdk/releases\"\u003ewrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewrangler@4.108.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/cloudflare/workers-sdk/pull/14312\"\u003e#14312\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/54f74b857cf6688a0577a214aa0b6dddb9192aaa\"\u003e\u003ccode\u003e54f74b8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattieTK\"\u003e\u003ccode\u003e@​MattieTK\u003c/code\u003e\u003c/a\u003e! - Delegate agent-driven static Pages deploys to Workers\u003c/p\u003e\n\u003cp\u003eWhen \u003ccode\u003ewrangler pages deploy\u003c/code\u003e or \u003ccode\u003ewrangler pages project create\u003c/code\u003e is run by an AI coding agent against a brand-new, purely static project, Wrangler now delegates it to Workers static assets (using autoconfig) instead of Cloudflare Pages. Accounts that already have Cloudflare Pages projects, non-agent (human) sessions, and projects using Pages features that can't be carried across to Workers (Pages Functions, a \u003ccode\u003e_worker.js\u003c/code\u003e, or a \u003ccode\u003e_routes.json\u003c/code\u003e file) are unaffected and continue to use Pages. Passing \u003ccode\u003e--force\u003c/code\u003e to either command opts out of the delegation and deploys to Pages directly. Once the Workers deploy starts it is not silently swapped back to Pages: if it fails, the error is surfaced and the \u003ccode\u003e--force\u003c/code\u003e opt-out is suggested.\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/cloudflare/workers-sdk/pull/14567\"\u003e#14567\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/08523467752daa79f0f8950a01f35797aa6f3052\"\u003e\u003ccode\u003e0852346\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e! - Update dependencies of \u0026quot;miniflare\u0026quot;, \u0026quot;wrangler\u0026quot;, \u0026quot;create-cloudflare\u0026quot;\u003c/p\u003e\n\u003cp\u003eThe following dependency versions have been updated:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003eFrom\u003c/th\u003e\n\u003cth\u003eTo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eworkerd\u003c/td\u003e\n\u003ctd\u003e1.20260702.1\u003c/td\u003e\n\u003ctd\u003e1.20260706.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@​cloudflare/workers-types\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e4.20260702.1\u003c/td\u003e\n\u003ctd\u003e5.20260706.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14312\"\u003e#14312\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/54f74b857cf6688a0577a214aa0b6dddb9192aaa\"\u003e\u003ccode\u003e54f74b8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattieTK\"\u003e\u003ccode\u003e@​MattieTK\u003c/code\u003e\u003c/a\u003e! - Avoid silently overwriting an existing Worker during non-interactive deploys that cannot prove they own the name\u003c/p\u003e\n\u003cp\u003eA non-interactive deploy (an agent, CI, or the agent-delegated \u003ccode\u003ewrangler pages deploy\u003c/code\u003e) has no way to prompt before overwriting a Worker, so it now stops if the target name is already taken and this run cannot show it owns that Worker. This applies when there is no Wrangler configuration file naming the Worker and either the name was generated automatically or the deploy is the Pages-to-Workers delegation (where the name carried across is a Pages project name, not proof of Worker ownership). The check reuses the service metadata the deploy already fetches, so it adds no extra API calls.\u003c/p\u003e\n\u003cp\u003eDeploys are unaffected when a configuration file names the Worker (so repeat deployments continue to update it), and interactive deploys keep their existing confirmation flow. To update an existing Worker in one of the guarded cases, add a Wrangler configuration file naming it, or deploy under a different name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/08523467752daa79f0f8950a01f35797aa6f3052\"\u003e\u003ccode\u003e0852346\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminiflare@4.20260706.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ewrangler@4.107.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14514\"\u003e#14514\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d88555edb671668ed7f73e587af9effe6e782f53\"\u003e\u003ccode\u003ed88555e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e! - Update dependencies of \u0026quot;miniflare\u0026quot;, \u0026quot;wrangler\u0026quot;\u003c/p\u003e\n\u003cp\u003eThe following dependency versions have been updated:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003eFrom\u003c/th\u003e\n\u003cth\u003eTo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eworkerd\u003c/td\u003e\n\u003ctd\u003e1.20260701.1\u003c/td\u003e\n\u003ctd\u003e1.20260702.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14564\"\u003e#14564\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5fd8bee9eb73a140f8ddb02830851e15d486ca3e\"\u003e\u003ccode\u003e5fd8bee\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jibin7jose\"\u003e\u003ccode\u003e@​jibin7jose\u003c/code\u003e\u003c/a\u003e! - Fix an issue where \u003ccode\u003ewrangler dev\u003c/code\u003e would not override config \u003ccode\u003evars\u003c/code\u003e with values from \u003ccode\u003e.dev.vars\u003c/code\u003e during local development when the \u003ccode\u003esecrets\u003c/code\u003e field was defined in the configuration file.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14332\"\u003e#14332\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5d9990e1d7ee51041ce70c9df359b0352ae57ec6\"\u003e\u003ccode\u003e5d9990e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Divkix\"\u003e\u003ccode\u003e@​Divkix\u003c/code\u003e\u003c/a\u003e! - Fix misleading error guidance when deploying a new Worker with \u003ccode\u003esecrets.required\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eWhen a Worker declares \u003ccode\u003esecrets.required\u003c/code\u003e and has never been deployed before, the previous error message suggested running \u003ccode\u003ewrangler secret put \u0026lt;NAME\u0026gt;\u003c/code\u003e, which doesn't work because the Worker doesn't exist yet.\u003c/p\u003e\n\u003cp\u003eThe one path that does work — \u003ccode\u003ewrangler deploy --secrets-file \u0026lt;path\u0026gt;\u003c/code\u003e — was not mentioned anywhere in the error output.\u003c/p\u003e\n\u003cp\u003eThe pre-deploy error now explains that \u003ccode\u003ewrangler secret put\u003c/code\u003e cannot be used for a new Worker, and directs users to the \u003ccode\u003e--secrets-file\u003c/code\u003e flag instead. The post-deploy error for existing Workers now also mentions \u003ccode\u003e--secrets-file\u003c/code\u003e alongside \u003ccode\u003ewrangler secret put\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14507\"\u003e#14507\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/bf49a419e2f98ac770d5ecbf7e9cecdf95d87ce7\"\u003e\u003ccode\u003ebf49a41\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/joey727\"\u003e\u003ccode\u003e@​joey727\u003c/code\u003e\u003c/a\u003e! - Fix a potential crash when displaying certain CLI output\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/cloudflare/workers-sdk/commit/e57b77cc04fe1069cbb09d322c47a408584e0f60\"\u003e\u003ccode\u003ee57b77c\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14592\"\u003e#14592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/08523467752daa79f0f8950a01f35797aa6f3052\"\u003e\u003ccode\u003e0852346\u003c/code\u003e\u003c/a\u003e Bump the workerd-and-workers-types group with 2 updates (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14567\"\u003e#14567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/54f74b857cf6688a0577a214aa0b6dddb9192aaa\"\u003e\u003ccode\u003e54f74b8\u003c/code\u003e\u003c/a\u003e [wrangler] Experiment: redirect agent-driven static Pages deploys to Workers ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c5d5e893e575b00a62a886d1da395b6246948d18\"\u003e\u003ccode\u003ec5d5e89\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14536\"\u003e#14536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5fd8bee9eb73a140f8ddb02830851e15d486ca3e\"\u003e\u003ccode\u003e5fd8bee\u003c/code\u003e\u003c/a\u003e fix(wrangler): override config vars with .dev.vars when secrets is de… (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14564\"\u003e#14564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/f416dd983e9c6e4d292317e077dfbe839d2f30c8\"\u003e\u003ccode\u003ef416dd9\u003c/code\u003e\u003c/a\u003e [miniflare] Key local rate limit counters by namespace_id (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14572\"\u003e#14572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b973ed30015e4e4bface3c0733c33f624066523a\"\u003e\u003ccode\u003eb973ed3\u003c/code\u003e\u003c/a\u003e fix(wrangler): emit an error event for watch-mode rebuild failures (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14561\"\u003e#14561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b8439fbb289816e30c593ca70466e8c2e9324676\"\u003e\u003ccode\u003eb8439fb\u003c/code\u003e\u003c/a\u003e [miniflare][wrangler] Fix Windows CI flakes: local-explorer ECONNRESET retry,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1ca8d8f0bbd012a1d65cabadf7b6987b252775e9\"\u003e\u003ccode\u003e1ca8d8f\u003c/code\u003e\u003c/a\u003e [wrangler] Upgrade signal-exit to v4 for ESM compatibility (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14570\"\u003e#14570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5d9990e1d7ee51041ce70c9df359b0352ae57ec6\"\u003e\u003ccode\u003e5d9990e\u003c/code\u003e\u003c/a\u003e [wrangler] Fix first-deploy guidance for required secrets (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14332\"\u003e#14332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cloudflare/workers-sdk/commits/wrangler@4.108.0/packages/wrangler\"\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/PP-Namias/Portfolio/pull/288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PP-Namias%2FPortfolio/issues/288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/288/packages"},{"uuid":"4704845655","node_id":"PR_kwDOSLmlIc7olZWc","number":133,"state":"closed","title":"deps(web): bump the web-minor-patch group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-22T02:38:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-20T02:42:15.000Z","updated_at":"2026-06-22T02:39:00.000Z","time_to_close":172604,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(web): bump","group_name":"web-minor-patch","update_count":7,"packages":[{"name":"react-doctor","old_version":"0.5.6","new_version":"0.5.7","repository_url":"https://github.com/millionco/react-doctor"},{"name":"@base-ui/react","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/mui/base-ui"},{"name":"@tanstack/react-router","old_version":"1.170.15","new_version":"1.170.16","repository_url":"https://github.com/TanStack/router"},{"name":"lucide-react","old_version":"1.18.0","new_version":"1.21.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"@ai-sdk/react","old_version":"3.0.208","new_version":"3.0.210","repository_url":"https://github.com/vercel/ai"},{"name":"ai","old_version":"6.0.206","new_version":"6.0.208","repository_url":"https://github.com/vercel/ai"},{"name":"nanoid","old_version":"5.1.11","new_version":"5.1.14","repository_url":"https://github.com/ai/nanoid"}],"path":null,"ecosystem":"npm"},"body":"Bumps the web-minor-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.5.6` | `0.5.7` |\n| [@base-ui/react](https://github.com/mui/base-ui/tree/HEAD/packages/react) | `1.5.0` | `1.6.0` |\n| [@tanstack/react-router](https://github.com/TanStack/router/tree/HEAD/packages/react-router) | `1.170.15` | `1.170.16` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.18.0` | `1.21.0` |\n| [@ai-sdk/react](https://github.com/vercel/ai/tree/HEAD/packages/react) | `3.0.208` | `3.0.210` |\n| [ai](https://github.com/vercel/ai/tree/HEAD/packages/ai) | `6.0.206` | `6.0.208` |\n| [nanoid](https://github.com/ai/nanoid) | `5.1.11` | `5.1.14` |\n\n\nUpdates `react-doctor` from 0.5.6 to 0.5.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.5.7\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/millionco/react-doctor/pull/881\"\u003e#881\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/50999f4a09c992d534c86fe248bfdb65dd8ef377\"\u003e\u003ccode\u003e50999f4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003e--debug\u003c/code\u003e flag that prints the run's Sentry trace id at the end of a scan.\u003c/p\u003e\n\u003cp\u003eWhen something looks wrong, run \u003ccode\u003ereact-doctor --debug\u003c/code\u003e: it forces a Sentry performance trace for that run (even if \u003ccode\u003eSENTRY_TRACES_SAMPLE_RATE\u003c/code\u003e was turned down) and prints \u003ccode\u003eSentry trace (mention this when reporting): \u0026lt;id\u0026gt;\u003c/code\u003e as the last line so the id can be pasted into a bug report for maintainers to pull the full trace. It prints on both outcomes — a clean run and a crash (the crash's trace is surfaced even when it happens before the scan span starts). The line goes to stderr, so \u003ccode\u003e--json\u003c/code\u003e / \u003ccode\u003e--score\u003c/code\u003e stdout stays machine-clean. Combining \u003ccode\u003e--debug\u003c/code\u003e with \u003ccode\u003e--no-score\u003c/code\u003e / \u003ccode\u003e--no-telemetry\u003c/code\u003e is rejected up front, since those flags disable the Sentry reporting \u003ccode\u003e--debug\u003c/code\u003e depends on. Telemetry also gains a low-cardinality \u003ccode\u003edebug\u003c/code\u003e run tag so adoption of the flag is visible.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/864\"\u003e#864\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/b317164e3e6bc9a5d7fc0fa4870187a17ba73493\"\u003e\u003ccode\u003eb317164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Make \u003ccode\u003efile:line\u003c/code\u003e diagnostic locations clickable in the terminal, and record which terminal each run uses.\u003c/p\u003e\n\u003cp\u003eDiagnostic locations are now wrapped in OSC 8 hyperlinks pointing at each file's absolute path, so supporting terminals (iTerm2, WezTerm, Kitty, Windows Terminal, VS Code, and other VTE-based emulators) turn them into click-to-open links — even in monorepo scans where the displayed path is relative to a sub-project root rather than the terminal's cwd. The visible text is unchanged (\u003ccode\u003esrc/App.tsx:12\u003c/code\u003e), the link rides in escape sequences, and terminals without OSC 8 support print it exactly as before. Hyperlinks are auto-detected per terminal and can be forced on/off with the standard \u003ccode\u003eFORCE_HYPERLINK\u003c/code\u003e env var; they are off for non-TTYs, CI, and coding agents (whose output parsers shouldn't see the escapes).\u003c/p\u003e\n\u003cp\u003eTelemetry also gains a \u003ccode\u003eterminalKind\u003c/code\u003e run tag (neovim, vscode, iterm, wezterm, kitty, windows-terminal, …) so we can see where React Doctor is actually run. It is a low-cardinality enum with no path, username, or secret.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/863\"\u003e#863\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/740211cf201ee28910c105b59b79e9aa73e1bd45\"\u003e\u003ccode\u003e740211c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a per-project \u003ccode\u003escannedFileCount\u003c/code\u003e to the JSON report's \u003ccode\u003eprojects[]\u003c/code\u003e entries —\nthe number of source files the scan's linter examined (the changed React-eligible\nfiles in diff mode, the whole source tree in a full scan). It's additive and\noptional, so the \u003ccode\u003eschemaVersion\u003c/code\u003e is unchanged and existing consumers are unaffected.\u003c/p\u003e\n\u003cp\u003eThis lets the GitHub Action tell \u0026quot;a PR that changed no React-eligible files\u0026quot; (the\nlinter examined nothing — \u003ccode\u003escannedFileCount: 0\u003c/code\u003e for every project) apart from \u0026quot;a\nclean scan of real React changes\u0026quot; (\u003ccode\u003escannedFileCount \u0026gt;= 1\u003c/code\u003e), which previously\nproduced identical reports. The Action now treats the former as a no-op: it skips\nthe sticky PR comment entirely and the commit status reads \u0026quot;Skipped — no React\nfiles changed\u0026quot; instead of a zero-filled score line. A clean scan of real React\nchanges still posts its \u0026quot;no issues 🎉\u0026quot; comment.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/844\"\u003e#844\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eafac9d4f1d52f68258306ad037841a981a9d6cf\"\u003e\u003ccode\u003eeafac9d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop recommending the deprecated \u003ccode\u003e--diff\u003c/code\u003e flag in agent-facing guidance (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/834\"\u003e#834\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe CLI \u0026quot;Agent guidance\u0026quot; section, the installed agent hooks, and the \u003ccode\u003e--help\u003c/code\u003e examples all advised running \u003ccode\u003ereact-doctor --verbose --diff\u003c/code\u003e, which now prints a deprecation warning on every run. They now recommend the supported \u003ccode\u003e--scope changed\u003c/code\u003e (pass \u003ccode\u003e--base \u0026lt;ref\u0026gt;\u003c/code\u003e to pin the base). The website \u003ccode\u003ellms.txt\u003c/code\u003e and the \u003ccode\u003ereact-doctor\u003c/code\u003e skill reference were updated to match.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/832\"\u003e#832\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/f45cb297ef89320bfa0b8f5d52ecbfdb3ad3552c\"\u003e\u003ccode\u003ef45cb29\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix a false-positive \u003ccode\u003edeslop/unused-file\u003c/code\u003e for a file imported only by a file in \u003ccode\u003eignore.files\u003c/code\u003e. Ignored files are now kept in the dead-code dependency graph (only their reporting is suppressed), so a module reachable solely through an ignored file is no longer flagged as unused.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/851\"\u003e#851\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/1e260c5d219391dbdf18e1cfd729dbc97b3806fb\"\u003e\u003ccode\u003e1e260c5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show the \u0026quot;Add React Doctor to CI\u0026quot; and \u0026quot;install React Doctor\u0026quot; pitches once per repo instead of on every scan.\u003c/p\u003e\n\u003cp\u003eThe post-scan handoff re-asked the CI question on every run, and the agent install hint re-printed every run because its opt-out store was built but never written. Both now record a per-repo answer (reusing the existing once-per-repo \u003ccode\u003eConf\u003c/code\u003e pattern) and stay quiet afterward — the first-run experience is unchanged, only the repetition stops.\u003c/p\u003e\n\u003cp\u003eThe agent copy-prompt no longer carries the CI marketing preamble at all. The interactive handoff prompt is now the single once-per-repo pitch, so the agent is never instructed to re-ask what the user was just asked — capable agents were flagging that preamble as social-engineering and it was eroding trust in the actual diagnostics.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/848\"\u003e#848\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/431e515260a209088c2305c6372249009dd95474\"\u003e\u003ccode\u003e431e515\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop a broken \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e install from sinking the whole lint pass, and fix the misleading error it produced (issue \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/833\"\u003e#833\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eWhen the optional \u003ccode\u003ereact-hooks-js\u003c/code\u003e (React Compiler) plugin can't be imported in the user's environment, oxlint fails the entire config load — which previously dropped every curated react-doctor diagnostic too and left the scan with \u003ccode\u003eskippedChecks: [\u0026quot;lint\u0026quot;]\u003c/code\u003e and zero results. The oxlint error is also multi-line, and the 200-char error preview truncated its plugin path mid-string (often right at \u003ccode\u003e…/node_modules/\u003c/code\u003e), so it read as react-doctor passing an invalid directory rather than a plugin that failed to load.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful degradation:\u003c/strong\u003e the oxlint runner now detects a \u003ccode\u003ereact-hooks-js\u003c/code\u003e plugin-load failure and retries once with that plugin (and its compiler rules) dropped — mirroring the existing adopted-\u003ccode\u003eextends\u003c/code\u003e fallback. The curated react-doctor rules, dead-code, and environment checks all still run; only the React Compiler rules are skipped, surfaced as a clear \u003ccode\u003elint:partial\u003c/code\u003e note that includes oxlint's real underlying reason.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReadable error:\u003c/strong\u003e the unparseable-output preview grew from 200 to 600 chars so the full plugin path and the underlying \u003ccode\u003eError:\u003c/code\u003e line survive instead of being cut at \u003ccode\u003e…/node_modules/\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/857\"\u003e#857\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/17389ba4feb07a54727100623b1b5a4ecc061e85\"\u003e\u003ccode\u003e17389ba\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show a syntax-highlighted source snippet in \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003ebuildCodeFrame\u003c/code\u003e util already powers the source frames in the scan summary, but the \u003ccode\u003ewhy\u003c/code\u003e command (the single-location explain path) never called it — so explaining a diagnostic printed the rule, category, help, and suppression hint with no view of the offending code. It now renders the same code frame directly under the headline, with the caret on the offending column (or the whole line span for a multi-site diagnostic). When the file can't be read or the line is minified, it falls back to the existing text-only output.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/882\"\u003e#882\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/a9d27134c4a5124b30f7a82f4ac3e4fd3339845c\"\u003e\u003ccode\u003ea9d2713\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Group findings that a single fix resolves into one root-cause task.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.7\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/millionco/react-doctor/pull/881\"\u003e#881\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/50999f4a09c992d534c86fe248bfdb65dd8ef377\"\u003e\u003ccode\u003e50999f4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003e--debug\u003c/code\u003e flag that prints the run's Sentry trace id at the end of a scan.\u003c/p\u003e\n\u003cp\u003eWhen something looks wrong, run \u003ccode\u003ereact-doctor --debug\u003c/code\u003e: it forces a Sentry performance trace for that run (even if \u003ccode\u003eSENTRY_TRACES_SAMPLE_RATE\u003c/code\u003e was turned down) and prints \u003ccode\u003eSentry trace (mention this when reporting): \u0026lt;id\u0026gt;\u003c/code\u003e as the last line so the id can be pasted into a bug report for maintainers to pull the full trace. It prints on both outcomes — a clean run and a crash (the crash's trace is surfaced even when it happens before the scan span starts). The line goes to stderr, so \u003ccode\u003e--json\u003c/code\u003e / \u003ccode\u003e--score\u003c/code\u003e stdout stays machine-clean. Combining \u003ccode\u003e--debug\u003c/code\u003e with \u003ccode\u003e--no-score\u003c/code\u003e / \u003ccode\u003e--no-telemetry\u003c/code\u003e is rejected up front, since those flags disable the Sentry reporting \u003ccode\u003e--debug\u003c/code\u003e depends on. Telemetry also gains a low-cardinality \u003ccode\u003edebug\u003c/code\u003e run tag so adoption of the flag is visible.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/864\"\u003e#864\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/b317164e3e6bc9a5d7fc0fa4870187a17ba73493\"\u003e\u003ccode\u003eb317164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Make \u003ccode\u003efile:line\u003c/code\u003e diagnostic locations clickable in the terminal, and record which terminal each run uses.\u003c/p\u003e\n\u003cp\u003eDiagnostic locations are now wrapped in OSC 8 hyperlinks pointing at each file's absolute path, so supporting terminals (iTerm2, WezTerm, Kitty, Windows Terminal, VS Code, and other VTE-based emulators) turn them into click-to-open links — even in monorepo scans where the displayed path is relative to a sub-project root rather than the terminal's cwd. The visible text is unchanged (\u003ccode\u003esrc/App.tsx:12\u003c/code\u003e), the link rides in escape sequences, and terminals without OSC 8 support print it exactly as before. Hyperlinks are auto-detected per terminal and can be forced on/off with the standard \u003ccode\u003eFORCE_HYPERLINK\u003c/code\u003e env var; they are off for non-TTYs, CI, and coding agents (whose output parsers shouldn't see the escapes).\u003c/p\u003e\n\u003cp\u003eTelemetry also gains a \u003ccode\u003eterminalKind\u003c/code\u003e run tag (neovim, vscode, iterm, wezterm, kitty, windows-terminal, …) so we can see where React Doctor is actually run. It is a low-cardinality enum with no path, username, or secret.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/863\"\u003e#863\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/740211cf201ee28910c105b59b79e9aa73e1bd45\"\u003e\u003ccode\u003e740211c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a per-project \u003ccode\u003escannedFileCount\u003c/code\u003e to the JSON report's \u003ccode\u003eprojects[]\u003c/code\u003e entries —\nthe number of source files the scan's linter examined (the changed React-eligible\nfiles in diff mode, the whole source tree in a full scan). It's additive and\noptional, so the \u003ccode\u003eschemaVersion\u003c/code\u003e is unchanged and existing consumers are unaffected.\u003c/p\u003e\n\u003cp\u003eThis lets the GitHub Action tell \u0026quot;a PR that changed no React-eligible files\u0026quot; (the\nlinter examined nothing — \u003ccode\u003escannedFileCount: 0\u003c/code\u003e for every project) apart from \u0026quot;a\nclean scan of real React changes\u0026quot; (\u003ccode\u003escannedFileCount \u0026gt;= 1\u003c/code\u003e), which previously\nproduced identical reports. The Action now treats the former as a no-op: it skips\nthe sticky PR comment entirely and the commit status reads \u0026quot;Skipped — no React\nfiles changed\u0026quot; instead of a zero-filled score line. A clean scan of real React\nchanges still posts its \u0026quot;no issues 🎉\u0026quot; comment.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/844\"\u003e#844\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eafac9d4f1d52f68258306ad037841a981a9d6cf\"\u003e\u003ccode\u003eeafac9d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop recommending the deprecated \u003ccode\u003e--diff\u003c/code\u003e flag in agent-facing guidance (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/834\"\u003e#834\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe CLI \u0026quot;Agent guidance\u0026quot; section, the installed agent hooks, and the \u003ccode\u003e--help\u003c/code\u003e examples all advised running \u003ccode\u003ereact-doctor --verbose --diff\u003c/code\u003e, which now prints a deprecation warning on every run. They now recommend the supported \u003ccode\u003e--scope changed\u003c/code\u003e (pass \u003ccode\u003e--base \u0026lt;ref\u0026gt;\u003c/code\u003e to pin the base). The website \u003ccode\u003ellms.txt\u003c/code\u003e and the \u003ccode\u003ereact-doctor\u003c/code\u003e skill reference were updated to match.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/832\"\u003e#832\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/f45cb297ef89320bfa0b8f5d52ecbfdb3ad3552c\"\u003e\u003ccode\u003ef45cb29\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix a false-positive \u003ccode\u003edeslop/unused-file\u003c/code\u003e for a file imported only by a file in \u003ccode\u003eignore.files\u003c/code\u003e. Ignored files are now kept in the dead-code dependency graph (only their reporting is suppressed), so a module reachable solely through an ignored file is no longer flagged as unused.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/851\"\u003e#851\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/1e260c5d219391dbdf18e1cfd729dbc97b3806fb\"\u003e\u003ccode\u003e1e260c5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show the \u0026quot;Add React Doctor to CI\u0026quot; and \u0026quot;install React Doctor\u0026quot; pitches once per repo instead of on every scan.\u003c/p\u003e\n\u003cp\u003eThe post-scan handoff re-asked the CI question on every run, and the agent install hint re-printed every run because its opt-out store was built but never written. Both now record a per-repo answer (reusing the existing once-per-repo \u003ccode\u003eConf\u003c/code\u003e pattern) and stay quiet afterward — the first-run experience is unchanged, only the repetition stops.\u003c/p\u003e\n\u003cp\u003eThe agent copy-prompt no longer carries the CI marketing preamble at all. The interactive handoff prompt is now the single once-per-repo pitch, so the agent is never instructed to re-ask what the user was just asked — capable agents were flagging that preamble as social-engineering and it was eroding trust in the actual diagnostics.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/848\"\u003e#848\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/431e515260a209088c2305c6372249009dd95474\"\u003e\u003ccode\u003e431e515\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop a broken \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e install from sinking the whole lint pass, and fix the misleading error it produced (issue \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/833\"\u003e#833\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eWhen the optional \u003ccode\u003ereact-hooks-js\u003c/code\u003e (React Compiler) plugin can't be imported in the user's environment, oxlint fails the entire config load — which previously dropped every curated react-doctor diagnostic too and left the scan with \u003ccode\u003eskippedChecks: [\u0026quot;lint\u0026quot;]\u003c/code\u003e and zero results. The oxlint error is also multi-line, and the 200-char error preview truncated its plugin path mid-string (often right at \u003ccode\u003e…/node_modules/\u003c/code\u003e), so it read as react-doctor passing an invalid directory rather than a plugin that failed to load.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful degradation:\u003c/strong\u003e the oxlint runner now detects a \u003ccode\u003ereact-hooks-js\u003c/code\u003e plugin-load failure and retries once with that plugin (and its compiler rules) dropped — mirroring the existing adopted-\u003ccode\u003eextends\u003c/code\u003e fallback. The curated react-doctor rules, dead-code, and environment checks all still run; only the React Compiler rules are skipped, surfaced as a clear \u003ccode\u003elint:partial\u003c/code\u003e note that includes oxlint's real underlying reason.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReadable error:\u003c/strong\u003e the unparseable-output preview grew from 200 to 600 chars so the full plugin path and the underlying \u003ccode\u003eError:\u003c/code\u003e line survive instead of being cut at \u003ccode\u003e…/node_modules/\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/857\"\u003e#857\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/17389ba4feb07a54727100623b1b5a4ecc061e85\"\u003e\u003ccode\u003e17389ba\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show a syntax-highlighted source snippet in \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003ebuildCodeFrame\u003c/code\u003e util already powers the source frames in the scan summary, but the \u003ccode\u003ewhy\u003c/code\u003e command (the single-location explain path) never called it — so explaining a diagnostic printed the rule, category, help, and suppression hint with no view of the offending code. It now renders the same code frame directly under the headline, with the caret on the offending column (or the whole line span for a multi-site diagnostic). When the file can't be read or the line is minified, it falls back to the existing text-only output.\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/millionco/react-doctor/commit/96b5bb4e5b37e3f5d1da2fa85e38f78edb732da0\"\u003e\u003ccode\u003e96b5bb4\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/869f220d97c1c30cb3e0d6897833f9db372667bb\"\u003e\u003ccode\u003e869f220\u003c/code\u003e\u003c/a\u003e feat(cli): warn before mass-fixing a migration-scale bucket (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/884\"\u003e#884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/a9d27134c4a5124b30f7a82f4ac3e4fd3339845c\"\u003e\u003ccode\u003ea9d2713\u003c/code\u003e\u003c/a\u003e feat(cli): group findings a single fix resolves into one root-cause task (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/882\"\u003e#882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/740211cf201ee28910c105b59b79e9aa73e1bd45\"\u003e\u003ccode\u003e740211c\u003c/code\u003e\u003c/a\u003e feat(action): skip the PR comment + mark the status \u0026quot;skipped\u0026quot; when no React f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/50999f4a09c992d534c86fe248bfdb65dd8ef377\"\u003e\u003ccode\u003e50999f4\u003c/code\u003e\u003c/a\u003e feat(cli): add --debug to surface the run's Sentry trace id (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/881\"\u003e#881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/93b796d4161d96dcfbcbefa2b76d4921f6034aa3\"\u003e\u003ccode\u003e93b796d\u003c/code\u003e\u003c/a\u003e refactor: elegance pass — remove dead code, dead branches, and redundant abst...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/3f7d0e7ddb055b4970cba2b393ce14f6615732e4\"\u003e\u003ccode\u003e3f7d0e7\u003c/code\u003e\u003c/a\u003e fix(no-danger): ship default-off so it stops blanket-flagging safe dangerousl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/b317164e3e6bc9a5d7fc0fa4870187a17ba73493\"\u003e\u003ccode\u003eb317164\u003c/code\u003e\u003c/a\u003e feat(cli): clickable OSC-8 file locations + terminalKind telemetry (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/864\"\u003e#864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/80574975084d71741b69340acb6be1e03f045f1b\"\u003e\u003ccode\u003e8057497\u003c/code\u003e\u003c/a\u003e fix(action): resolve PR changed-file paths against the scanned directory (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/85\"\u003e#85\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/17389ba4feb07a54727100623b1b5a4ecc061e85\"\u003e\u003ccode\u003e17389ba\u003c/code\u003e\u003c/a\u003e fix(cli): show the source code frame in \u003ccode\u003ewhy \\\u0026lt;file\u0026gt;:\\\u0026lt;line\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/857\"\u003e#857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.5.7/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@base-ui/react` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mui/base-ui/releases\"\u003e@​base-ui/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect inaccurate prop JSDoc (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5036\"\u003e#5036\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the hook value when store/arguments change (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4866\"\u003e#4866\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore viewport morphing after reopen for kept-mounted popups (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5010\"\u003e#5010\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pseudo-element bounds in dev mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5000\"\u003e#5000\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAccordion\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger behavior bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4833\"\u003e#4833\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove region role from \u003ccode\u003eAccordion.Root\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4961\"\u003e#4961\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlign keyboard navigation with APG (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4965\"\u003e#4965\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix programmatic focus return (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4849\"\u003e#4849\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKeep ArrowLeft/ArrowRight on the input caret in grid mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4948\"\u003e#4948\u003c/a\u003e) by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003eopen\u003c/code\u003e requirement for the \u003ccode\u003einline\u003c/code\u003e prop (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5069\"\u003e#5069\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAvatar\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix image status edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4835\"\u003e#4835\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore \u003ccode\u003edata-focused\u003c/code\u003e Field attribute when disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4998\"\u003e#4998\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix extra \u003ccode\u003evalidate\u003c/code\u003e fn calls (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4911\"\u003e#4911\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox Group\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parent checkbox with custom \u003ccode\u003evalidate\u003c/code\u003e fn (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4912\"\u003e#4912\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix validation with multiple required checkboxes (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4958\"\u003e#4958\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward group ids (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4997\"\u003e#4997\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCollapsible\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger and panel state bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4848\"\u003e#4848\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix chip context error (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep ArrowLeft/ArrowRight on the input caret in grid mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4948\"\u003e#4948\u003c/a\u003e) by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid re-rendering every item on each keystroke (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/flaviendelangle\"\u003e\u003ccode\u003e@​flaviendelangle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix autofill and selected state edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4972\"\u003e#4972\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mui/base-ui/blob/master/CHANGELOG.md\"\u003e@​base-ui/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eJun 18, 2026\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect inaccurate prop JSDoc (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5036\"\u003e#5036\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the hook value when store/arguments change (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4866\"\u003e#4866\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore viewport morphing after reopen for kept-mounted popups (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5010\"\u003e#5010\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pseudo-element bounds in dev mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5000\"\u003e#5000\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAccordion\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger behavior bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4833\"\u003e#4833\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove region role from \u003ccode\u003eAccordion.Root\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4961\"\u003e#4961\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlign keyboard navigation with APG (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4965\"\u003e#4965\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix programmatic focus return (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4849\"\u003e#4849\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKeep ArrowLeft/ArrowRight on the input caret in grid mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4948\"\u003e#4948\u003c/a\u003e) by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003eopen\u003c/code\u003e requirement for the \u003ccode\u003einline\u003c/code\u003e prop (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5069\"\u003e#5069\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAvatar\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix image status edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4835\"\u003e#4835\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore \u003ccode\u003edata-focused\u003c/code\u003e Field attribute when disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4998\"\u003e#4998\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix extra \u003ccode\u003evalidate\u003c/code\u003e fn calls (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4911\"\u003e#4911\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox Group\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parent checkbox with custom \u003ccode\u003evalidate\u003c/code\u003e fn (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4912\"\u003e#4912\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix validation with multiple required checkboxes (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4958\"\u003e#4958\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward group ids (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4997\"\u003e#4997\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCollapsible\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger and panel state bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4848\"\u003e#4848\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix chip context error (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\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/mui/base-ui/commit/b34551d644f2e58ebf8fc1050d949f6654ceca6c\"\u003e\u003ccode\u003eb34551d\u003c/code\u003e\u003c/a\u003e [code-infra] Fix package publishing (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5074\"\u003e#5074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/615b0e8e7764b736cd89ba363b1acd5321c1275d\"\u003e\u003ccode\u003e615b0e8\u003c/code\u003e\u003c/a\u003e [release] v1.6.0 (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/8b7ca5d862aa0fba68f49b64534d794cfb417b9c\"\u003e\u003ccode\u003e8b7ca5d\u003c/code\u003e\u003c/a\u003e [test] Restore slider listener spies (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5072\"\u003e#5072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/250252475404d9519de4e12b7e2b530dd627114e\"\u003e\u003ccode\u003e2502524\u003c/code\u003e\u003c/a\u003e [combobox][autocomplete] Document \u003ccode\u003eopen\u003c/code\u003e requirement for the \u003ccode\u003einline\u003c/code\u003e prop (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/4c33d7427fd756e6f6531f5826966d4911f9cfaf\"\u003e\u003ccode\u003e4c33d74\u003c/code\u003e\u003c/a\u003e [slider] Fix touchend listener accumulation leak (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5070\"\u003e#5070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/d169cd58f078fecaf69c75f426b71b1a015aa3a5\"\u003e\u003ccode\u003ed169cd5\u003c/code\u003e\u003c/a\u003e [combobox] Fix autofill and selected state edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4972\"\u003e#4972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/2d8b8f6a3a3cc432960777eb815c7c2ee297d037\"\u003e\u003ccode\u003e2d8b8f6\u003c/code\u003e\u003c/a\u003e [avatar] Fix image status edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4835\"\u003e#4835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/ee3c13a0e3f735387d58ae926cd6e970ac63e266\"\u003e\u003ccode\u003eee3c13a\u003c/code\u003e\u003c/a\u003e [select] Skip disabled items in typeahead and fix multiple-mode serialization...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/b167c8561403e62369eff1d43583135415609af0\"\u003e\u003ccode\u003eb167c85\u003c/code\u003e\u003c/a\u003e [drawer] Commit swipe on primary-button release (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5057\"\u003e#5057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/e972d74f9210850987ffd1964529d14f93a467b3\"\u003e\u003ccode\u003ee972d74\u003c/code\u003e\u003c/a\u003e [combobox] Avoid re-rendering every item on each keystroke (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mui/base-ui/commits/v1.6.0/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-router` from 1.170.15 to 1.170.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/router/releases\"\u003e@​tanstack/react-router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-router\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.170.16\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/TanStack/router/pull/7595\"\u003e#7595\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/52db7034fd83b17cc45da9ba775ec253f2a9a149\"\u003e\u003ccode\u003e52db703\u003c/code\u003e\u003c/a\u003e - Perf improvement of useMatch and derived hooks when navigating away from previous match\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7575\"\u003e#7575\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/4a93cffffca34702e419bc47db827f964fd0cb65\"\u003e\u003ccode\u003e4a93cff\u003c/code\u003e\u003c/a\u003e - useMatches can skip useRef for structural sharing during SSR\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7600\"\u003e#7600\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/f046b064d32222cad0b7ea061311ca9a474f5990\"\u003e\u003ccode\u003ef046b06\u003c/code\u003e\u003c/a\u003e - Reduce Match rerenders during navigations (PR \u003ca href=\"https://redirect.github.com/TanStack/router/issues/7596\"\u003e#7596\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7577\"\u003e#7577\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689d88e04c48ec76a18453ab8b82d8d58f2668b6\"\u003e\u003ccode\u003e689d88e\u003c/code\u003e\u003c/a\u003e - Reduce bundle size by sharing structuralSharing selector logic\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7627\"\u003e#7627\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689c5ab32e9bb18d90a5a94c33237b0e418df3e3\"\u003e\u003ccode\u003e689c5ab\u003c/code\u003e\u003c/a\u003e - Silence AbortError in renderRouterToStream, this is normal operation\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/router/blob/main/packages/react-router/CHANGELOG.md\"\u003e@​tanstack/react-router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.170.16\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/TanStack/router/pull/7595\"\u003e#7595\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/52db7034fd83b17cc45da9ba775ec253f2a9a149\"\u003e\u003ccode\u003e52db703\u003c/code\u003e\u003c/a\u003e - Perf improvement of useMatch and derived hooks when navigating away from previous match\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7575\"\u003e#7575\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/4a93cffffca34702e419bc47db827f964fd0cb65\"\u003e\u003ccode\u003e4a93cff\u003c/code\u003e\u003c/a\u003e - useMatches can skip useRef for structural sharing during SSR\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7600\"\u003e#7600\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/f046b064d32222cad0b7ea061311ca9a474f5990\"\u003e\u003ccode\u003ef046b06\u003c/code\u003e\u003c/a\u003e - Reduce Match rerenders during navigations (PR \u003ca href=\"https://redirect.github.com/TanStack/router/issues/7596\"\u003e#7596\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7577\"\u003e#7577\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689d88e04c48ec76a18453ab8b82d8d58f2668b6\"\u003e\u003ccode\u003e689d88e\u003c/code\u003e\u003c/a\u003e - Reduce bundle size by sharing structuralSharing selector logic\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7627\"\u003e#7627\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689c5ab32e9bb18d90a5a94c33237b0e418df3e3\"\u003e\u003ccode\u003e689c5ab\u003c/code\u003e\u003c/a\u003e - Silence AbortError in renderRouterToStream, this is normal operation\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/TanStack/router/commit/f23ed0fe737b3d856ca76f4fa3d2fdbafd72acab\"\u003e\u003ccode\u003ef23ed0f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7576\"\u003e#7576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/689c5ab32e9bb18d90a5a94c33237b0e418df3e3\"\u003e\u003ccode\u003e689c5ab\u003c/code\u003e\u003c/a\u003e chore(react-router): silence AbortError in renderRouterToStream (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7627\"\u003e#7627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/a2b9d51b0a21b9427c0c4c4228ee4e2482ab809c\"\u003e\u003ccode\u003ea2b9d51\u003c/code\u003e\u003c/a\u003e docs: fix duplicate \u0026quot;to\u0026quot; typos (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7370\"\u003e#7370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/56bd271ba0887c008fc2d98f919388cf89cb2aae\"\u003e\u003ccode\u003e56bd271\u003c/code\u003e\u003c/a\u003e perf(react-router): add match selector compares (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7596\"\u003e#7596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/52db7034fd83b17cc45da9ba775ec253f2a9a149\"\u003e\u003ccode\u003e52db703\u003c/code\u003e\u003c/a\u003e fix(react-router): avoid throwing in useMatch selector (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7595\"\u003e#7595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/689d88e04c48ec76a18453ab8b82d8d58f2668b6\"\u003e\u003ccode\u003e689d88e\u003c/code\u003e\u003c/a\u003e refactor(react-router): Reduce bundle size by sharing hook structuralSharing ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/4a93cffffca34702e419bc47db827f964fd0cb65\"\u003e\u003ccode\u003e4a93cff\u003c/code\u003e\u003c/a\u003e refactor(react-router): useMatches skips useRef during SSR (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7575\"\u003e#7575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/router/commits/@tanstack/react-router@1.170.16/packages/react-router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lucide-react` from 1.18.0 to 1.21.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\"\u003elucide-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.21.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci(release.yml): Remove new-version in release flow 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/4478\"\u003elucide-icons/lucide#4478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(release.yml): Fix workflow and remove \u003ccode\u003eversion\u003c/code\u003e scripts in package scripts 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/4479\"\u003elucide-icons/lucide#4479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(docs): rename navigation category label by \u003ca href=\"https://github.com/Hsiii\"\u003e\u003ccode\u003e@​Hsiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4483\"\u003elucide-icons/lucide#4483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ebroken-bone\u003c/code\u003e icon by \u003ca href=\"https://github.com/Patolord\"\u003e\u003ccode\u003e@​Patolord\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4131\"\u003elucide-icons/lucide#4131\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/Hsiii\"\u003e\u003ccode\u003e@​Hsiii\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4483\"\u003elucide-icons/lucide#4483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Patolord\"\u003e\u003ccode\u003e@​Patolord\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4131\"\u003elucide-icons/lucide#4131\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.20.0...1.21.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.20.0...1.21.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(icons): decreased size of arrows inside \u003ccode\u003esquare-arrow-*\u003c/code\u003e icons by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3926\"\u003elucide-icons/lucide#3926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(tags): Add tags to \u003ccode\u003esearch-\u003c/code\u003e icons by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4099\"\u003elucide-icons/lucide#4099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003esave-check\u003c/code\u003e icon by \u003ca href=\"https://github.com/Konixy\"\u003e\u003ccode\u003e@​Konixy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3120\"\u003elucide-icons/lucide#3120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003etag-plus\u003c/code\u003e and \u003ccode\u003etag-x\u003c/code\u003e icons by \u003ca href=\"https://github.com/adam-kov\"\u003e\u003ccode\u003e@​adam-kov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3980\"\u003elucide-icons/lucide#3980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ebanknote-check\u003c/code\u003e icon by \u003ca href=\"https://github.com/mfjramirezf\"\u003e\u003ccode\u003e@​mfjramirezf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3956\"\u003elucide-icons/lucide#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eclock-arrow-in\u003c/code\u003e icon by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/2403\"\u003elucide-icons/lucide#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003esummary\u003c/code\u003e icon by \u003ca href=\"https://github.com/jpjacobpadilla\"\u003e\u003ccode\u003e@​jpjacobpadilla\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3114\"\u003elucide-icons/lucide#3114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003euser-round-arrow-in\u003c/code\u003e icon by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/2283\"\u003elucide-icons/lucide#2283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eclock-arrow-out\u003c/code\u003e icon by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/2404\"\u003elucide-icons/lucide#2404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(docs): fix broken Svelte package source link in README by \u003ca href=\"https://github.com/SRKrukowski\"\u003e\u003ccode\u003e@​SRKrukowski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4468\"\u003elucide-icons/lucide#4468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​angular/compiler\u003c/code\u003e from 21.2.5 to 21.2.17 by \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/4474\"\u003elucide-icons/lucide#4474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​angular/core\u003c/code\u003e from 21.2.5 to 21.2.17 by \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/4470\"\u003elucide-icons/lucide#4470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump vitest from 4.0.12 to 4.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/lucide-icons/lucide/pull/4429\"\u003elucide-icons/lucide#4429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump markdown-it from 14.1.1 to 14.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4475\"\u003elucide-icons/lucide#4475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​angular/common\u003c/code\u003e from 21.2.5 to 21.2.17 by \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/4471\"\u003elucide-icons/lucide#4471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003epencil-sparkles\u003c/code\u003e icon by \u003ca href=\"https://github.com/jennieboops\"\u003e\u003ccode\u003e@​jennieboops\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4445\"\u003elucide-icons/lucide#4445\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/Konixy\"\u003e\u003ccode\u003e@​Konixy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3120\"\u003elucide-icons/lucide#3120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adam-kov\"\u003e\u003ccode\u003e@​adam-kov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3980\"\u003elucide-icons/lucide#3980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mfjramirezf\"\u003e\u003ccode\u003e@​mfjramirezf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3956\"\u003elucide-icons/lucide#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SRKrukowski\"\u003e\u003ccode\u003e@​SRKrukowski\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4468\"\u003elucide-icons/lucide#4468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jennieboops\"\u003e\u003ccode\u003e@​jennieboops\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4445\"\u003elucide-icons/lucide#4445\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.19.0...1.20.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.19.0...1.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): upgrade pnpm to version 11.6.0 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/4458\"\u003elucide-icons/lucide#4458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003estar-*\u003c/code\u003e icons by \u003ca href=\"https://github.com/RajnishKMehta\"\u003e\u003ccode\u003e@​RajnishKMehta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3918\"\u003elucide-icons/lucide#3918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(suggest-tags): Update metadata suggestion script 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/4462\"\u003elucide-icons/lucide#4462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003esave-pen\u003c/code\u003e icon by \u003ca href=\"https://github.com/vaporvee\"\u003e\u003ccode\u003e@​vaporvee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4179\"\u003elucide-icons/lucide#4179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ewrench-off\u003c/code\u003e icon by \u003ca href=\"https://github.com/nilsjonsson\"\u003e\u003ccode\u003e@​nilsjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4434\"\u003elucide-icons/lucide#4434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ead\u003c/code\u003e icon by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4323\"\u003elucide-icons/lucide#4323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eeye-dashed\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/4415\"\u003elucide-icons/lucide#4415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lucide-icons/lucide/commit/5ff536e1391335e4f7dc38d244c1bc458b9443e2\"\u003e\u003ccode\u003e5ff536e\u003c/code\u003e\u003c/a\u003e ci(release.yml): Fix workflow and remove \u003ccode\u003eversion\u003c/code\u003e scripts in package scripts...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ai-sdk/react` from 3.0.208 to 3.0.210\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/releases\"\u003e@​ai-sdk/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​ai-sdk/react\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.210\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [8261640]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [f994df3]\n\u003cul\u003e\n\u003cli\u003eai@6.0.208\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/vercel/ai/blob/@ai-sdk/react@3.0.210/packages/react/CHANGELOG.md\"\u003e@​ai-sdk/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.210\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [8261640]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [f994df3]\n\u003cul\u003e\n\u003cli\u003eai@6.0.208\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.209\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [779f5cd]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.30\u003c/li\u003e\n\u003cli\u003eai@6.0.207\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/vercel/ai/commit/3270146267b1d82f07972bc40f09e9b4ee8bb9d3\"\u003e\u003ccode\u003e3270146\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/react/issues/16243\"\u003e#16243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/caebb44016dbd084e5bf7b7f4ab5194fd2c7c045\"\u003e\u003ccode\u003ecaebb44\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/react/issues/16157\"\u003e#16157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/ai/commits/@ai-sdk/react@3.0.210/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ai` from 6.0.206 to 6.0.208\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/releases\"\u003eai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eai@6.0.208\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8261640: fix(ai): handle partial unicode escapes in fixJson\u003c/li\u003e\n\u003cli\u003ef994df3: Serialize \u003ccode\u003eundefined\u003c/code\u003e tool output to \u003ccode\u003enull\u003c/code\u003e in UI message chunks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eai@6.0.207\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e779f5cd: fix(provider-utils): cancel response body on download rejection to prevent socket leak\u003c/p\u003e\n\u003cp\u003eWhen a download was rejected early — because the \u003ccode\u003eContent-Length\u003c/code\u003e header exceeded the size limit, the response status was not ok, or a redirect resolved to a blocked URL — the fetch response body was left unconsumed and uncancelled. With WHATWG Fetch/undici this leaves the underlying TCP socket open instead of returning it to the connection pool, allowing an attacker-controlled origin to exhaust file descriptors and cause a denial of service. The body is now cancelled on all early-rejection paths in \u003ccode\u003ereadResponseWithSizeLimit\u003c/code\u003e, \u003ccode\u003edownload\u003c/code\u003e, and \u003ccode\u003edownloadBlob\u003c/code\u003e, and \u003ccode\u003efetchWithValidatedRedirects\u003c/code\u003e cancels each redirect hop's body before following or rejecting the next hop.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [5bfde36]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [779f5cd]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.133\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.30\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/vercel/ai/blob/ai@6.0.208/packages/ai/CHANGELOG.md\"\u003eai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.208\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8261640: fix(ai): handle partial unicode escapes in fixJson\u003c/li\u003e\n\u003cli\u003ef994df3: Serialize \u003ccode\u003eundefined\u003c/code\u003e tool output to \u003ccode\u003enull\u003c/code\u003e in UI message chunks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.207\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e779f5cd: fix(provider-utils): cancel response body on download rejection to prevent socket leak\u003c/p\u003e\n\u003cp\u003eWhen a download was rejected early — because the \u003ccode\u003eContent-Length\u003c/code\u003e header exceeded the size limit, the response status was not ok, or a redirect resolved to a blocked URL — the fetch response body was left unconsumed and uncancelled. With WHATWG Fetch/undici this leaves the underlying TCP socket open instead of returning it to the connection pool, allowing an attacker-controlled origin to exhaust file descriptors and cause a denial of service. The body is now cancelled on all early-rejection paths in \u003ccode\u003ereadResponseWithSizeLimit\u003c/code\u003e, \u003ccode\u003edownload\u003c/code\u003e, and \u003ccode\u003edownloadBlob\u003c/code\u003e, and \u003ccode\u003efetchWithValidatedRedirects\u003c/code\u003e cancels each redirect hop's body before following or rejecting the next hop.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [5bfde36]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [779f5cd]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.133\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.30\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/vercel/ai/commit/3270146267b1d82f07972bc40f09e9b4ee8bb9d3\"\u003e\u003ccode\u003e3270146\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16243\"\u003e#16243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/f994df3f1ead3fdbb290268e551ed94e8f6c9d3d\"\u003e\u003ccode\u003ef994df3\u003c/code\u003e\u003c/a\u003e Backport: Serialize undefined tool output to null in UI message chunks (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16240\"\u003e#16240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/8261640ad7e4d701523050357648b3c301cddd9d\"\u003e\u003ccode\u003e8261640\u003c/code\u003e\u003c/a\u003e Backport: fix(ai): handle partial unicode escapes in fixJson (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16233\"\u003e#16233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/caebb44016dbd084e5bf7b7f4ab5194fd2c7c045\"\u003e\u003ccode\u003ecaebb44\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16157\"\u003e#16157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/779f5cda10001add11430eac8ecaa8e1ea88cf35\"\u003e\u003ccode\u003e779f5cd\u003c/code\u003e\u003c/a\u003e Backport: fix(provider-utils): cancel response body on download rejection to ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/ai/commits/ai@6.0.208/packages/ai\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nanoid` from 5.1.11 to 5.1.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ai/nanoid/releases\"\u003enanoid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved to npm Provenance and Staged Publishing.\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/ai/nanoid/blob/main/CHANGELOG.md\"\u003enanoid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved to npm Provenance and Staged Publishing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/e4b7a9a7323006474ec939112aec68944b0da097\"\u003e\u003ccode\u003ee4b7a9a\u003c/code\u003e\u003c/a\u003e Release 5.1.14 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/6bf3469b5b33137e385e07dc1c84779cf3e38956\"\u003e\u003ccode\u003e6bf3469\u003c/code\u003e\u003c/a\u003e Update release action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/b2f1cb65d6031b2a7014c680a8a94729b69a5802\"\u003e\u003ccode\u003eb2f1cb6\u003c/code\u003e\u003c/a\u003e Release 5.1.13 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/c04e2544309e730a3b37e12cdd3b4cb8c5005b1f\"\u003e\u003ccode\u003ec04e254\u003c/code\u003e\u003c/a\u003e Update release action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/625a539cae07a708b269011399d7063d2f70c1fb\"\u003e\u003ccode\u003e625a539\u003c/code\u003e\u003c/a\u003e Typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/e5583b7f6158c3bef162e12e2a16ca46d3b5a6e7\"\u003e\u003ccode\u003ee5583b7\u003c/code\u003e\u003c/a\u003e Release 5.1.12 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/77f133b8b8aaa14ee2555ef3385af3e5314b3e33\"\u003e\u003ccode\u003e77f133b\u003c/code\u003e\u003c/a\u003e Fix release workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/a55f2d089f8bfd3f55c969087e1211311407cb60\"\u003e\u003ccode\u003ea55f2d0\u003c/code\u003e\u003c/a\u003e Copy changes from v3 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/4eab4631f5ac97e4b789197f6e9749f04f271c8e\"\u003e\u003ccode\u003e4eab463\u003c/code\u003e\u003c/a\u003e Typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/261ac052ee893d1d5b0b66cacb08fe1cc64b2d5d\"\u003e\u003ccode\u003e261ac05\u003c/code\u003e\u003c/a\u003e Clean up dev dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ai/nanoid/compare/5.1.11...5.1.14\"\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 nanoid since your current version.\u003c/p\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/kl3inIT/zero-mail/pull/133","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kl3inIT%2Fzero-mail/issues/133","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/133/packages"},{"uuid":"4670381989","node_id":"PR_kwDORU2tDs7mzx-W","number":82,"state":"closed","title":"chore(deps-dev): bump the development-minor-patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-16T02:07:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T02:04:48.000Z","updated_at":"2026-06-16T02:07:35.000Z","time_to_close":166,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-minor-patch","update_count":3,"packages":[{"name":"@vitest/coverage-v8","old_version":"4.1.8","new_version":"4.1.9","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"react-doctor","old_version":"0.5.1","new_version":"0.5.6","repository_url":"https://github.com/millionco/react-doctor"},{"name":"vitest","old_version":"4.1.8","new_version":"4.1.9"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 2 updates in the / directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor).\n\nUpdates `@vitest/coverage-v8` from 4.1.8 to 4.1.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/HEAD/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.5.1 to 0.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add five \u003ccode\u003esecurity-scan\u003c/code\u003e rules distilled from security-researcher writeups and the deepsec scanner-matcher catalog, closing CWE shapes the bucket didn't cover:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eunsafe-json-in-html\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eJSON.stringify(...)\u003c/code\u003e embedded in \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e or inline \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e markup. \u003ccode\u003eJSON.stringify\u003c/code\u003e does not HTML-escape, so data containing \u003ccode\u003e\u0026lt;/script\u0026gt;\u003c/code\u003e or \u003ccode\u003e\u0026lt;\u003c/code\u003e breaks out — the classic SSR data-hydration XSS. Suppressed when an HTML-safe serializer (serialize-javascript, devalue, superjson) or \u003ccode\u003e\\u003c\u003c/code\u003e escaping is used.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejwt-insecure-verification\u003c/code\u003e\u003c/strong\u003e — the JWT \u003ccode\u003enone\u003c/code\u003e algorithm (\u003ccode\u003ealg: none\u003c/code\u003e / \u003ccode\u003ealgorithms: [\u0026quot;none\u0026quot;]\u003c/code\u003e), which disables signature verification and lets any forged token through. (Detecting an unpinned \u003ccode\u003ejwt.verify\u003c/code\u003e precisely needs scope-aware analysis, so that is left to a future AST rule.)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esecret-in-fallback\u003c/code\u003e\u003c/strong\u003e — a secret-shaped env var with a hardcoded string fallback (\u003ccode\u003eprocess.env.STRIPE_SECRET_KEY ?? \u0026quot;\u0026lt;hardcoded\u0026gt;\u0026quot;\u003c/code\u003e): a committed secret that also makes the app fail open when the var is unset. Skips public vars (PUBLIC/PUBLISHABLE/ANON) and placeholder defaults.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erequest-body-mass-assignment\u003c/code\u003e\u003c/strong\u003e — spreading or merging request input (\u003ccode\u003e{ ...req.body }\u003c/code\u003e, \u003ccode\u003eObject.assign(target, req.body)\u003c/code\u003e, lodash \u003ccode\u003emerge\u003c/code\u003e/\u003ccode\u003edefaultsDeep\u003c/code\u003e) without a field allowlist: mass assignment (client-set owner/role/price columns) or prototype pollution.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003einsecure-session-cookie\u003c/code\u003e\u003c/strong\u003e — auth/session cookies exposed to JavaScript: \u003ccode\u003ehttpOnly: false\u003c/code\u003e, set via \u003ccode\u003edocument.cookie\u003c/code\u003e, or a bare \u003ccode\u003eres.cookie(\u0026quot;session\u0026quot;, value)\u003c/code\u003e / \u003ccode\u003ecookies().set(...)\u003c/code\u003e with no options.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll five register through \u003ccode\u003edefineRule\u003c/code\u003e with a project-level \u003ccode\u003escan\u003c/code\u003e, carry the \u003ccode\u003eSecurity\u003c/code\u003e category and \u003ccode\u003esecurity-scan\u003c/code\u003e tag, and are silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e like the rest of the family.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/cf9e05be8ee1f1781878c28b8342490ec11c176f\"\u003e\u003ccode\u003ecf9e05b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Show the full file total when the scan hands off to dead-code analysis, so the live counter no longer looks stuck below \u003ccode\u003eN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/815\"\u003e#815\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe linter already emits a final \u003ccode\u003e(N, N)\u003c/code\u003e progress tick when its last batch finishes, but ora throttles renders to its frame interval — that last frame was overwritten by the \u003ccode\u003e\u0026quot;Analyzing dead code…\u0026quot;\u003c/code\u003e text before it ever painted, so the spinner appeared to freeze at whatever value the smooth-creep timer last drew (e.g. \u003ccode\u003e80/165\u003c/code\u003e). Every file was always scanned; only the counter looked short. The dead-code phase now reads \u003ccode\u003eScanned N files, analyzing dead code…\u003c/code\u003e, keeping the complete count visible for the whole (longer) dead-code pass.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/819\"\u003e#819\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Fix false positives reported in the security and TanStack rules:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003equery-destructure-result\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/818\"\u003e#818\u003c/a\u003e): only flags \u003ccode\u003euseQuery\u003c/code\u003e/\u003ccode\u003euseSuspenseQuery\u003c/code\u003e/… when they actually come from a TanStack Query package (\u003ccode\u003e@tanstack/*-query\u003c/code\u003e, legacy \u003ccode\u003ereact-query\u003c/code\u003e). A same-named hook imported from elsewhere — notably Convex's \u003ccode\u003euseQuery\u003c/code\u003e from \u003ccode\u003econvex/react\u003c/code\u003e, which returns the data directly — is no longer flagged.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eartifact-env-leak\u003c/code\u003e / \u003ccode\u003eartifact-secret-leak\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/817\"\u003e#817\u003c/a\u003e): no longer treat server-side or dev-mode Next.js output as browser artifacts. \u003ccode\u003e.next/dev/server/**\u003c/code\u003e (dev source maps), any \u003ccode\u003e.next/**/server/**\u003c/code\u003e, \u003ccode\u003e.output/server/**\u003c/code\u003e, and the dev server's \u003ccode\u003e.next/dev/**\u003c/code\u003e output are excluded; production browser bundles (\u003ccode\u003e.next/static\u003c/code\u003e, \u003ccode\u003edist/assets\u003c/code\u003e, \u003ccode\u003epublic/\u003c/code\u003e, …) are still scanned.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erepository-secret-file\u003c/code\u003e\u003c/strong\u003e / \u003cstrong\u003e\u003ccode\u003ekey-lifecycle-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/813\"\u003e#813\u003c/a\u003e): no longer flag a credential/key file that git ignores — a local-only, gitignored \u003ccode\u003e.env\u003c/code\u003e is not \u0026quot;checked into the repository\u0026quot;. Findings are dropped only when git definitively reports the path as ignored (the finding stands when there is no repo or git is unavailable).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewebhook-signature-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/814\"\u003e#814\u003c/a\u003e): recognizes a delegated verification helper (a call pairing a verify-ish verb with a security noun, e.g. \u003ccode\u003eisValidSecret(...)\u003c/code\u003e, \u003ccode\u003everifySignature(...)\u003c/code\u003e, \u003ccode\u003echeckWebhookHmac(...)\u003c/code\u003e) as verification evidence, so an extracted \u003ccode\u003etimingSafeEqual\u003c/code\u003e comparison in another module no longer trips the rule.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003esupabase-table-missing-rls\u003c/code\u003e security-scan rule. It flags a Supabase migration (\u003ccode\u003esupabase/migrations/**\u003c/code\u003e, \u003ccode\u003esupabase/schemas/**\u003c/code\u003e) that runs \u003ccode\u003ecreate table\u003c/code\u003e for a public-schema table but never enables Row Level Security — the highest-impact and most common Supabase misconfiguration, because RLS is OFF by default for SQL-created tables, so every row is readable and writable with the public anon key. It targets the same misconfiguration Supabase's own \u003ccode\u003erls_disabled_in_public\u003c/code\u003e database linter flags, and the gap that turns the public anon key into the service key.\u003c/p\u003e\n\u003cp\u003eThe existing \u003ccode\u003esupabase-rls-policy-risk\u003c/code\u003e only caught an explicit \u003ccode\u003edisable row level security\u003c/code\u003e; this complements it by catching the far more common \u0026quot;never enabled it\u0026quot; case. RLS is checked per table — each \u003ccode\u003ecreate table\u003c/code\u003e must have an \u003ccode\u003ealter table \u0026lt;name\u0026gt; enable row level security\u003c/code\u003e for that same table, after the create (a sibling table enabling RLS, or a policy without enabling it, does not vouch). SQL comments and string literals are ignored, non-public/Supabase-managed schemas (\u003ccode\u003eauth.\u003c/code\u003e, \u003ccode\u003estorage.\u003c/code\u003e, a \u003ccode\u003eprivate.\u003c/code\u003e schema, …) are skipped, and the rule is scoped to the \u003ccode\u003esupabase/\u003c/code\u003e directory so plain Drizzle/Prisma \u003ccode\u003e.sql\u003c/code\u003e migrations are not flagged. The scan runs per migration file, so enabling RLS in a \u003cem\u003edifferent\u003c/em\u003e migration than the \u003ccode\u003ecreate table\u003c/code\u003e is not detected — the same-file pattern (what Supabase tooling emits) is the supported case. Like the rest of the family it carries the \u003ccode\u003esecurity-scan\u003c/code\u003e tag and is silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/823\"\u003e#823\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bac7c82950e2392ac4b21448f3e9cf86b605567f\"\u003e\u003ccode\u003ebac7c82\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix a supply-chain scan crash on npm dist-tags and wildcards (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/807\"\u003e#807\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eresolveConcreteVersion\u003c/code\u003e called \u003ccode\u003esemver.minVersion(spec)\u003c/code\u003e directly, but \u003ccode\u003esemver\u003c/code\u003e \u003cstrong\u003ethrows\u003c/strong\u003e (\u003ccode\u003eTypeError: Invalid comparator: latest\u003c/code\u003e) on a non-range spec instead of returning \u003ccode\u003enull\u003c/code\u003e. Any full scan — or PR scan touching \u003ccode\u003epackage.json\u003c/code\u003e — containing a dist-tag like \u003ccode\u003e\u0026quot;trigger.dev\u0026quot;: \u0026quot;latest\u0026quot;\u003c/code\u003e (or \u003ccode\u003e\u0026quot;next\u0026quot;\u003c/code\u003e) crashed before the Socket fail-open path could run (regression from \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/804\"\u003e#804\u003c/a\u003e, affecting 0.5.3–0.5.5).\u003c/p\u003e\n\u003cp\u003eThe spec is now validated with \u003ccode\u003esemver.validRange\u003c/code\u003e before resolving its floor: dist-tags and other non-ranges are skipped (nothing to score), as is a wildcard-only range (\u003ccode\u003e*\u003c/code\u003e/\u003ccode\u003ex\u003c/code\u003e/\u003ccode\u003eX\u003c/code\u003e), which previously resolved to a synthetic \u003ccode\u003e0.0.0\u003c/code\u003e and scored a version nobody pinned. Real ranges (\u003ccode\u003e^1.2.3\u003c/code\u003e, \u003ccode\u003e1.x\u003c/code\u003e, \u003ccode\u003e\u0026gt;=2 \u0026lt;3\u003c/code\u003e) and protocol/URL specs (\u003ccode\u003eworkspace:\u003c/code\u003e, \u003ccode\u003efile:\u003c/code\u003e, \u003ccode\u003enpm:\u003c/code\u003e, \u003ccode\u003egit+…\u003c/code\u003e) are unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.5.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/e90eb7acbfc4e06de68de2cb6a96d3242f72963e\"\u003e\u003ccode\u003ee90eb7a\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.5.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/millionco/react-doctor/pull/744\"\u003e#744\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eacdcf2e65d6755fc000c6e05d8b76a49440adfb\"\u003e\u003ccode\u003eeacdcf2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a project-level security file scan: 36 first-class scan rules (leaked artifact secrets and env dumps, permissive Firebase/Supabase rules, raw SQL injection risk, unsafe webhook signature comparisons, committed private key material, public debug artifacts, …) ship in the oxlint plugin as ordinary \u003ccode\u003edefineRule\u003c/code\u003e modules that declare a project-level \u003ccode\u003escan\u003c/code\u003e instead of AST visitors and run in \u003ccode\u003e@react-doctor/core\u003c/code\u003e's environment-check phase over one bounded whole-tree walk — covering shipped bundles, dotenv/config files, SQL, and Firebase rules files that per-file linting never sees.\u003c/p\u003e\n\u003cp\u003eScan rules register metadata (id, title, severity, recommendation, \u003ccode\u003eSecurity\u003c/code\u003e category, \u003ccode\u003esecurity-scan\u003c/code\u003e tag) like any other rule but carry a project-level \u003ccode\u003escan\u003c/code\u003e instead of AST visitors, so their findings flow through the standard diagnostic pipeline: per-rule and per-category severity overrides, inline disables, and output \u003ccode\u003esurfaces\u003c/code\u003e now apply to scan-rule diagnostics, and \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e (config \u003ccode\u003eignore.tags\u003c/code\u003e) silences the whole family. They never appear in generated oxlint configs or the ESLint presets — they only execute through React Doctor's scan. A plain \u003ccode\u003e--diff\u003c/code\u003e / \u003ccode\u003e--staged\u003c/code\u003e scan skips them like the other whole-project checks, and the gate is now diff mode itself rather than the presence of include paths, so projects configuring \u003ccode\u003eignore.files\u003c/code\u003e get the security scan too.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add five \u003ccode\u003esecurity-scan\u003c/code\u003e rules distilled from security-researcher writeups and the deepsec scanner-matcher catalog, closing CWE shapes the bucket didn't cover:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eunsafe-json-in-html\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eJSON.stringify(...)\u003c/code\u003e embedded in \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e or inline \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e markup. \u003ccode\u003eJSON.stringify\u003c/code\u003e does not HTML-escape, so data containing \u003ccode\u003e\u0026lt;/script\u0026gt;\u003c/code\u003e or \u003ccode\u003e\u0026lt;\u003c/code\u003e breaks out — the classic SSR data-hydration XSS. Suppressed when an HTML-safe serializer (serialize-javascript, devalue, superjson) or \u003ccode\u003e\\u003c\u003c/code\u003e escaping is used.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejwt-insecure-verification\u003c/code\u003e\u003c/strong\u003e — the JWT \u003ccode\u003enone\u003c/code\u003e algorithm (\u003ccode\u003ealg: none\u003c/code\u003e / \u003ccode\u003ealgorithms: [\u0026quot;none\u0026quot;]\u003c/code\u003e), which disables signature verification and lets any forged token through. (Detecting an unpinned \u003ccode\u003ejwt.verify\u003c/code\u003e precisely needs scope-aware analysis, so that is left to a future AST rule.)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esecret-in-fallback\u003c/code\u003e\u003c/strong\u003e — a secret-shaped env var with a hardcoded string fallback (\u003ccode\u003eprocess.env.STRIPE_SECRET_KEY ?? \u0026quot;\u0026lt;hardcoded\u0026gt;\u0026quot;\u003c/code\u003e): a committed secret that also makes the app fail open when the var is unset. Skips public vars (PUBLIC/PUBLISHABLE/ANON) and placeholder defaults.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erequest-body-mass-assignment\u003c/code\u003e\u003c/strong\u003e — spreading or merging request input (\u003ccode\u003e{ ...req.body }\u003c/code\u003e, \u003ccode\u003eObject.assign(target, req.body)\u003c/code\u003e, lodash \u003ccode\u003emerge\u003c/code\u003e/\u003ccode\u003edefaultsDeep\u003c/code\u003e) without a field allowlist: mass assignment (client-set owner/role/price columns) or prototype pollution.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003einsecure-session-cookie\u003c/code\u003e\u003c/strong\u003e — auth/session cookies exposed to JavaScript: \u003ccode\u003ehttpOnly: false\u003c/code\u003e, set via \u003ccode\u003edocument.cookie\u003c/code\u003e, or a bare \u003ccode\u003eres.cookie(\u0026quot;session\u0026quot;, value)\u003c/code\u003e / \u003ccode\u003ecookies().set(...)\u003c/code\u003e with no options.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll five register through \u003ccode\u003edefineRule\u003c/code\u003e with a project-level \u003ccode\u003escan\u003c/code\u003e, carry the \u003ccode\u003eSecurity\u003c/code\u003e category and \u003ccode\u003esecurity-scan\u003c/code\u003e tag, and are silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e like the rest of the family.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/cf9e05be8ee1f1781878c28b8342490ec11c176f\"\u003e\u003ccode\u003ecf9e05b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Show the full file total when the scan hands off to dead-code analysis, so the live counter no longer looks stuck below \u003ccode\u003eN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/815\"\u003e#815\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe linter already emits a final \u003ccode\u003e(N, N)\u003c/code\u003e progress tick when its last batch finishes, but ora throttles renders to its frame interval — that last frame was overwritten by the \u003ccode\u003e\u0026quot;Analyzing dead code…\u0026quot;\u003c/code\u003e text before it ever painted, so the spinner appeared to freeze at whatever value the smooth-creep timer last drew (e.g. \u003ccode\u003e80/165\u003c/code\u003e). Every file was always scanned; only the counter looked short. The dead-code phase now reads \u003ccode\u003eScanned N files, analyzing dead code…\u003c/code\u003e, keeping the complete count visible for the whole (longer) dead-code pass.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/819\"\u003e#819\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Fix false positives reported in the security and TanStack rules:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003equery-destructure-result\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/818\"\u003e#818\u003c/a\u003e): only flags \u003ccode\u003euseQuery\u003c/code\u003e/\u003ccode\u003euseSuspenseQuery\u003c/code\u003e/… when they actually come from a TanStack Query package (\u003ccode\u003e@tanstack/*-query\u003c/code\u003e, legacy \u003ccode\u003ereact-query\u003c/code\u003e). A same-named hook imported from elsewhere — notably Convex's \u003ccode\u003euseQuery\u003c/code\u003e from \u003ccode\u003econvex/react\u003c/code\u003e, which returns the data directly — is no longer flagged.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eartifact-env-leak\u003c/code\u003e / \u003ccode\u003eartifact-secret-leak\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/817\"\u003e#817\u003c/a\u003e): no longer treat server-side or dev-mode Next.js output as browser artifacts. \u003ccode\u003e.next/dev/server/**\u003c/code\u003e (dev source maps), any \u003ccode\u003e.next/**/server/**\u003c/code\u003e, \u003ccode\u003e.output/server/**\u003c/code\u003e, and the dev server's \u003ccode\u003e.next/dev/**\u003c/code\u003e output are excluded; production browser bundles (\u003ccode\u003e.next/static\u003c/code\u003e, \u003ccode\u003edist/assets\u003c/code\u003e, \u003ccode\u003epublic/\u003c/code\u003e, …) are still scanned.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erepository-secret-file\u003c/code\u003e\u003c/strong\u003e / \u003cstrong\u003e\u003ccode\u003ekey-lifecycle-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/813\"\u003e#813\u003c/a\u003e): no longer flag a credential/key file that git ignores — a local-only, gitignored \u003ccode\u003e.env\u003c/code\u003e is not \u0026quot;checked into the repository\u0026quot;. Findings are dropped only when git definitively reports the path as ignored (the finding stands when there is no repo or git is unavailable).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewebhook-signature-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/814\"\u003e#814\u003c/a\u003e): recognizes a delegated verification helper (a call pairing a verify-ish verb with a security noun, e.g. \u003ccode\u003eisValidSecret(...)\u003c/code\u003e, \u003ccode\u003everifySignature(...)\u003c/code\u003e, \u003ccode\u003echeckWebhookHmac(...)\u003c/code\u003e) as verification evidence, so an extracted \u003ccode\u003etimingSafeEqual\u003c/code\u003e comparison in another module no longer trips the rule.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003esupabase-table-missing-rls\u003c/code\u003e security-scan rule. It flags a Supabase migration (\u003ccode\u003esupabase/migrations/**\u003c/code\u003e, \u003ccode\u003esupabase/schemas/**\u003c/code\u003e) that runs \u003ccode\u003ecreate table\u003c/code\u003e for a public-schema table but never enables Row Level Security — the highest-impact and most common Supabase misconfiguration, because RLS is OFF by default for SQL-created tables, so every row is readable and writable with the public anon key. It targets the same misconfiguration Supabase's own \u003ccode\u003erls_disabled_in_public\u003c/code\u003e database linter flags, and the gap that turns the public anon key into the service key.\u003c/p\u003e\n\u003cp\u003eThe existing \u003ccode\u003esupabase-rls-policy-risk\u003c/code\u003e only caught an explicit \u003ccode\u003edisable row level security\u003c/code\u003e; this complements it by catching the far more common \u0026quot;never enabled it\u0026quot; case. RLS is checked per table — each \u003ccode\u003ecreate table\u003c/code\u003e must have an \u003ccode\u003ealter table \u0026lt;name\u0026gt; enable row level security\u003c/code\u003e for that same table, after the create (a sibling table enabling RLS, or a policy without enabling it, does not vouch). SQL comments and string literals are ignored, non-public/Supabase-managed schemas (\u003ccode\u003eauth.\u003c/code\u003e, \u003ccode\u003estorage.\u003c/code\u003e, a \u003ccode\u003eprivate.\u003c/code\u003e schema, …) are skipped, and the rule is scoped to the \u003ccode\u003esupabase/\u003c/code\u003e directory so plain Drizzle/Prisma \u003ccode\u003e.sql\u003c/code\u003e migrations are not flagged. The scan runs per migration file, so enabling RLS in a \u003cem\u003edifferent\u003c/em\u003e migration than the \u003ccode\u003ecreate table\u003c/code\u003e is not detected — the same-file pattern (what Supabase tooling emits) is the supported case. Like the rest of the family it carries the \u003ccode\u003esecurity-scan\u003c/code\u003e tag and is silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/823\"\u003e#823\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bac7c82950e2392ac4b21448f3e9cf86b605567f\"\u003e\u003ccode\u003ebac7c82\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix a supply-chain scan crash on npm dist-tags and wildcards (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/807\"\u003e#807\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eresolveConcreteVersion\u003c/code\u003e called \u003ccode\u003esemver.minVersion(spec)\u003c/code\u003e directly, but \u003ccode\u003esemver\u003c/code\u003e \u003cstrong\u003ethrows\u003c/strong\u003e (\u003ccode\u003eTypeError: Invalid comparator: latest\u003c/code\u003e) on a non-range spec instead of returning \u003ccode\u003enull\u003c/code\u003e. Any full scan — or PR scan touching \u003ccode\u003epackage.json\u003c/code\u003e — containing a dist-tag like \u003ccode\u003e\u0026quot;trigger.dev\u0026quot;: \u0026quot;latest\u0026quot;\u003c/code\u003e (or \u003ccode\u003e\u0026quot;next\u0026quot;\u003c/code\u003e) crashed before the Socket fail-open path could run (regression from \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/804\"\u003e#804\u003c/a\u003e, affecting 0.5.3–0.5.5).\u003c/p\u003e\n\u003cp\u003eThe spec is now validated with \u003ccode\u003esemver.validRange\u003c/code\u003e before resolving its floor: dist-tags and other non-ranges are skipped (nothing to score), as is a wildcard-only range (\u003ccode\u003e*\u003c/code\u003e/\u003ccode\u003ex\u003c/code\u003e/\u003ccode\u003eX\u003c/code\u003e), which previously resolved to a synthetic \u003ccode\u003e0.0.0\u003c/code\u003e and scored a version nobody pinned. Real ranges (\u003ccode\u003e^1.2.3\u003c/code\u003e, \u003ccode\u003e1.x\u003c/code\u003e, \u003ccode\u003e\u0026gt;=2 \u0026lt;3\u003c/code\u003e) and protocol/URL specs (\u003ccode\u003eworkspace:\u003c/code\u003e, \u003ccode\u003efile:\u003c/code\u003e, \u003ccode\u003enpm:\u003c/code\u003e, \u003ccode\u003egit+…\u003c/code\u003e) are unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/e90eb7acbfc4e06de68de2cb6a96d3242f72963e\"\u003e\u003ccode\u003ee90eb7a\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/744\"\u003e#744\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eacdcf2e65d6755fc000c6e05d8b76a49440adfb\"\u003e\u003ccode\u003eeacdcf2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a project-level security file scan: 36 first-class scan rules (leaked artifact secrets and env dumps, permissive Firebase/Supabase rules, raw SQL injection risk, unsafe webhook signature comparisons, committed private key material, public debug artifacts, …) ship in the oxlint plugin as ordinary \u003ccode\u003edefineRule\u003c/code\u003e modules that declare a project-level \u003ccode\u003escan\u003c/code\u003e instead of AST visitors and run in \u003ccode\u003e@react-doctor/core\u003c/code\u003e's environment-check phase over one bounded whole-tree walk — covering shipped bundles, dotenv/config files, SQL, and Firebase rules files that per-file linting never sees.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/15238de7019167e740c9fc08b800d9732c2ab477\"\u003e\u003ccode\u003e15238de\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/821\"\u003e#821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e feat(security-scan): add 6 BaaS and CWE rules from security research (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e fix(security-scan): resolve reported false positives (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/813\"\u003e#813\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/814\"\u003e#814\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/817\"\u003e#817\u003c/a\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/daf0579d19743b585bd6e8dbdc58dd16cb964eca\"\u003e\u003ccode\u003edaf0579\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/810\"\u003e#810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/e90eb7acbfc4e06de68de2cb6a96d3242f72963e\"\u003e\u003ccode\u003ee90eb7a\u003c/code\u003e\u003c/a\u003e fix(tanstack-start): recognize current \u003ccode\u003e.validator()\u003c/code\u003e server-fn method (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/808\"\u003e#808\u003c/a\u003e)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/f229c75d4bec861cb25cf323b9711e2bedf64e0a\"\u003e\u003ccode\u003ef229c75\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/806\"\u003e#806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/eacdcf2e65d6755fc000c6e05d8b76a49440adfb\"\u003e\u003ccode\u003eeacdcf2\u003c/code\u003e\u003c/a\u003e Add project-level security scan rules (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/744\"\u003e#744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/0b30023ac613c53a8e1ed0435cd5c6ad03b56edb\"\u003e\u003ccode\u003e0b30023\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/094d470d13e7c856772767c879d048972afa5677\"\u003e\u003ccode\u003e094d470\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/3de910612de481a063ff19c6c7b2c62f0098411a\"\u003e\u003ccode\u003e3de9106\u003c/code\u003e\u003c/a\u003e fix: resolve \u003ccode\u003ereact-doctor/api\u003c/code\u003e imports in doctor.config.ts without local nod...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.5.6/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.8 to 4.1.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/HEAD/packages/vitest\"\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/AI4STEM-Education-Center/TALENT-MAIN/pull/82","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI4STEM-Education-Center%2FTALENT-MAIN/issues/82","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/82/packages"},{"uuid":"4608748886","node_id":"PR_kwDOSyYFoM7jsQTJ","number":4,"state":"closed","title":"Bump react-doctor from 0.3.0 to 0.4.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-09T21:22:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-07T21:16:41.000Z","updated_at":"2026-06-09T21:22:04.000Z","time_to_close":173121,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"react-doctor","old_version":"0.3.0","new_version":"0.4.2","repository_url":"https://github.com/millionco/react-doctor"}],"path":null,"ecosystem":"npm"},"body":"Bumps [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) from 0.3.0 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.4.2\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/millionco/react-doctor/pull/721\"\u003e#721\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/d17dc87865e059f21534990d0925115db439dc3e\"\u003e\u003ccode\u003ed17dc87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003edefineConfig\u003c/code\u003e helper for authoring a typed \u003ccode\u003edoctor.config.{ts,js,mjs,cjs}\u003c/code\u003e and read \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e as a deprecated fallback.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003edefineConfig\u003c/code\u003e is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e (and \u003ccode\u003e@react-doctor/api\u003c/code\u003e / \u003ccode\u003e@react-doctor/core\u003c/code\u003e) as an identity helper that gives editor autocomplete and type-checking without an explicit \u003ccode\u003esatisfies ReactDoctorConfig\u003c/code\u003e annotation:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// doctor.config.ts\nimport { defineConfig } from \u0026quot;react-doctor/api\u0026quot;;\n\u003cp\u003eexport default defineConfig({\nlint: true,\nrules: { \u0026quot;react-doctor/no-array-index-as-key\u0026quot;: \u0026quot;off\u0026quot; },\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe pre-migration \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e filename is now read as the lowest-priority fallback (after \u003ccode\u003edoctor.config.*\u003c/code\u003e and \u003ccode\u003epackage.json#reactDoctor\u003c/code\u003e) instead of being ignored, so an un-migrated config keeps applying. It still emits a deprecation warning nudging a rename, and interactive runs continue to auto-migrate it to \u003ccode\u003edoctor.config.ts\u003c/code\u003e. A present-but-broken legacy file stops config resolution (it won't silently inherit an ancestor repo's config), and \u003ccode\u003ereact-doctor rules \u0026lt;...\u0026gt;\u003c/code\u003e migrates a legacy file to \u003ccode\u003edoctor.config.json\u003c/code\u003e on write rather than editing it in place.\u003c/p\u003e\n\u003cp\u003eNote: a \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e that was previously ignored in non-interactive runs (CI, coding agents, \u003ccode\u003e--json\u003c/code\u003e/\u003ccode\u003e--score\u003c/code\u003e/\u003ccode\u003e--staged\u003c/code\u003e) is now honored again, which can change which rules fire, the score, and PR gating for projects that still have one. Rename it to \u003ccode\u003edoctor.config.json\u003c/code\u003e (or delete it) to avoid surprises.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.4.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/711\"\u003e#711\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/36ecd053cfe22e16678ac2ff307e015b6f9a2859\"\u003e\u003ccode\u003e36ecd05\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix false positive in \u003ccode\u003erequire-reduced-motion\u003c/code\u003e: the check now searches untracked files so newly created source (e.g. a \u003ccode\u003eproviders.tsx\u003c/code\u003e with \u003ccode\u003e\u0026lt;MotionConfig reducedMotion=\u0026quot;user\u0026quot;\u0026gt;\u003c/code\u003e not yet committed) is detected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/706\"\u003e#706\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/15bd9d861703c6d3b0e2fd8ffad82b7b6a922b00\"\u003e\u003ccode\u003e15bd9d8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - CI setup now offers a one-time, per-repo prompt to upgrade an existing React Doctor GitHub Actions workflow from \u003ccode\u003e@v1\u003c/code\u003e to \u003ccode\u003e@v2\u003c/code\u003e — accepting opens a PR with the bump, declining is remembered so it never asks again. The generated / \u0026quot;Add to CI\u0026quot; workflow now pins \u003ccode\u003emillionco/react-doctor@v2\u003c/code\u003e and grants \u003ccode\u003estatuses: write\u003c/code\u003e, so the action can publish the score as a commit status (and surface results on pushes to the default branch).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/dc35070a5066f9864a7565b952dec2f81bff1223\"\u003e\u003ccode\u003edc35070\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1a22efdf7b18f2cc8b7af6c0b12173ed3c76d34\"\u003e\u003ccode\u003eb1a22ef\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/73dcb2040dc6aa207beea074f846fd675c30bd2b\"\u003e\u003ccode\u003e73dcb20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/64667dae16b812ad9b4304bd7906d5ddbb50921a\"\u003e\u003ccode\u003e64667da\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9ab336d3b2918d319bc048b5b164f58611df83\"\u003e\u003ccode\u003eee9ab33\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fe5f3de330c5c55f6bcbed68070296eb67c2ec5b\"\u003e\u003ccode\u003efe5f3de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/831cf3fbfd703f5048de5c2c3258e47988a2cce0\"\u003e\u003ccode\u003e831cf3f\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew core API:\u003c/strong\u003e \u003ccode\u003ecomputeDiagnosticDelta\u003c/code\u003e, \u003ccode\u003eGit.showRefContent\u003c/code\u003e / \u003ccode\u003eGit.mergeBase\u003c/code\u003e, \u003ccode\u003ematerializeSourceTree\u003c/code\u003e, and \u003ccode\u003eInspectOptions.baseline\u003c/code\u003e / \u003ccode\u003eInspectResult.baselineDelta\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON report v2:\u003c/strong\u003e baseline runs emit \u003ccode\u003eschemaVersion: 2\u003c/code\u003e with a \u003ccode\u003ebaseline\u003c/code\u003e block (\u003ccode\u003enewCount\u003c/code\u003e, \u003ccode\u003efixedCount\u003c/code\u003e, \u003ccode\u003ebaseTotalCount\u003c/code\u003e) and \u003ccode\u003emode: \u0026quot;baseline\u0026quot;\u003c/code\u003e; \u003ccode\u003esummary.score\u003c/code\u003e stays the head score. v1 reports are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2\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/millionco/react-doctor/pull/721\"\u003e#721\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/d17dc87865e059f21534990d0925115db439dc3e\"\u003e\u003ccode\u003ed17dc87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003edefineConfig\u003c/code\u003e helper for authoring a typed \u003ccode\u003edoctor.config.{ts,js,mjs,cjs}\u003c/code\u003e and read \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e as a deprecated fallback.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003edefineConfig\u003c/code\u003e is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e (and \u003ccode\u003e@react-doctor/api\u003c/code\u003e / \u003ccode\u003e@react-doctor/core\u003c/code\u003e) as an identity helper that gives editor autocomplete and type-checking without an explicit \u003ccode\u003esatisfies ReactDoctorConfig\u003c/code\u003e annotation:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// doctor.config.ts\nimport { defineConfig } from \u0026quot;react-doctor/api\u0026quot;;\n\u003cp\u003eexport default defineConfig({\nlint: true,\nrules: { \u0026quot;react-doctor/no-array-index-as-key\u0026quot;: \u0026quot;off\u0026quot; },\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe pre-migration \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e filename is now read as the lowest-priority fallback (after \u003ccode\u003edoctor.config.*\u003c/code\u003e and \u003ccode\u003epackage.json#reactDoctor\u003c/code\u003e) instead of being ignored, so an un-migrated config keeps applying. It still emits a deprecation warning nudging a rename, and interactive runs continue to auto-migrate it to \u003ccode\u003edoctor.config.ts\u003c/code\u003e. A present-but-broken legacy file stops config resolution (it won't silently inherit an ancestor repo's config), and \u003ccode\u003ereact-doctor rules \u0026lt;...\u0026gt;\u003c/code\u003e migrates a legacy file to \u003ccode\u003edoctor.config.json\u003c/code\u003e on write rather than editing it in place.\u003c/p\u003e\n\u003cp\u003eNote: a \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e that was previously ignored in non-interactive runs (CI, coding agents, \u003ccode\u003e--json\u003c/code\u003e/\u003ccode\u003e--score\u003c/code\u003e/\u003ccode\u003e--staged\u003c/code\u003e) is now honored again, which can change which rules fire, the score, and PR gating for projects that still have one. Rename it to \u003ccode\u003edoctor.config.json\u003c/code\u003e (or delete it) to avoid surprises.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/711\"\u003e#711\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/36ecd053cfe22e16678ac2ff307e015b6f9a2859\"\u003e\u003ccode\u003e36ecd05\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix false positive in \u003ccode\u003erequire-reduced-motion\u003c/code\u003e: the check now searches untracked files so newly created source (e.g. a \u003ccode\u003eproviders.tsx\u003c/code\u003e with \u003ccode\u003e\u0026lt;MotionConfig reducedMotion=\u0026quot;user\u0026quot;\u0026gt;\u003c/code\u003e not yet committed) is detected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/706\"\u003e#706\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/15bd9d861703c6d3b0e2fd8ffad82b7b6a922b00\"\u003e\u003ccode\u003e15bd9d8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - CI setup now offers a one-time, per-repo prompt to upgrade an existing React Doctor GitHub Actions workflow from \u003ccode\u003e@v1\u003c/code\u003e to \u003ccode\u003e@v2\u003c/code\u003e — accepting opens a PR with the bump, declining is remembered so it never asks again. The generated / \u0026quot;Add to CI\u0026quot; workflow now pins \u003ccode\u003emillionco/react-doctor@v2\u003c/code\u003e and grants \u003ccode\u003estatuses: write\u003c/code\u003e, so the action can publish the score as a commit status (and surface results on pushes to the default branch).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/dc35070a5066f9864a7565b952dec2f81bff1223\"\u003e\u003ccode\u003edc35070\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1a22efdf7b18f2cc8b7af6c0b12173ed3c76d34\"\u003e\u003ccode\u003eb1a22ef\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/73dcb2040dc6aa207beea074f846fd675c30bd2b\"\u003e\u003ccode\u003e73dcb20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/64667dae16b812ad9b4304bd7906d5ddbb50921a\"\u003e\u003ccode\u003e64667da\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9ab336d3b2918d319bc048b5b164f58611df83\"\u003e\u003ccode\u003eee9ab33\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fe5f3de330c5c55f6bcbed68070296eb67c2ec5b\"\u003e\u003ccode\u003efe5f3de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/831cf3fbfd703f5048de5c2c3258e47988a2cce0\"\u003e\u003ccode\u003e831cf3f\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\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/millionco/react-doctor/commit/b461b2d78e4c14cb8315967fc5e523f84bfc8478\"\u003e\u003ccode\u003eb461b2d\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/d17dc87865e059f21534990d0925115db439dc3e\"\u003e\u003ccode\u003ed17dc87\u003c/code\u003e\u003c/a\u003e feat(config): add defineConfig helper and read react-doctor.config.json fallb...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/7d4b9960d2fa53719c348ce077f6f81423fecd63\"\u003e\u003ccode\u003e7d4b996\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/f61adc4b660d883ef4ee3c0345946706d30d6b02\"\u003e\u003ccode\u003ef61adc4\u003c/code\u003e\u003c/a\u003e chore: bump deslop-js from ^0.0.20 to ^0.0.21 (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/719\"\u003e#719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/fe5f3de330c5c55f6bcbed68070296eb67c2ec5b\"\u003e\u003ccode\u003efe5f3de\u003c/code\u003e\u003c/a\u003e fix: disable server-fetch-without-revalidate for Next.js 15+ (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/715\"\u003e#715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9ab336d3b2918d319bc048b5b164f58611df83\"\u003e\u003ccode\u003eee9ab33\u003c/code\u003e\u003c/a\u003e fix(nextjs): scope useSearchParams/Suspense rule to page files only (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/695\"\u003e#695\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ee980d98e0444324ede6a39eac30ff0cc240ad76\"\u003e\u003ccode\u003eee980d9\u003c/code\u003e\u003c/a\u003e chore: bump deslop-js from ^0.0.19 to ^0.0.20 (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/36ecd053cfe22e16678ac2ff307e015b6f9a2859\"\u003e\u003ccode\u003e36ecd05\u003c/code\u003e\u003c/a\u003e fix: search untracked files in require-reduced-motion check (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/696\"\u003e#696\u003c/a\u003e) (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/711\"\u003e#711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/15bd9d861703c6d3b0e2fd8ffad82b7b6a922b00\"\u003e\u003ccode\u003e15bd9d8\u003c/code\u003e\u003c/a\u003e feat(ci): surface React Doctor results on \u003ccode\u003emain\u003c/code\u003e + offer v1→v2 action upgrade...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5448962028d9c616ec126751af0c8c405748f7d4\"\u003e\u003ccode\u003e5448962\u003c/code\u003e\u003c/a\u003e fix: resolve .cmd wrappers on Windows so agent handoff launches correctly (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.4.2/packages/react-doctor\"\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=react-doctor\u0026package-manager=npm_and_yarn\u0026previous-version=0.3.0\u0026new-version=0.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mahmoud-safwat-2006/ant-design-clone/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoud-safwat-2006%2Fant-design-clone/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"},{"uuid":"4592228250","node_id":"PR_kwDOCfPdns7i28fn","number":4536,"state":"closed","title":"chore: bump react-doctor from 0.3.0 to 0.4.0","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-07T06:17:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T21:15:58.000Z","updated_at":"2026-06-07T06:17:41.000Z","time_to_close":205302,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore","packages":[{"name":"react-doctor","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/millionco/react-doctor"}],"path":null,"ecosystem":"npm"},"body":"Bumps [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) from 0.3.0 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew core API:\u003c/strong\u003e \u003ccode\u003ecomputeDiagnosticDelta\u003c/code\u003e, \u003ccode\u003eGit.showRefContent\u003c/code\u003e / \u003ccode\u003eGit.mergeBase\u003c/code\u003e, \u003ccode\u003ematerializeSourceTree\u003c/code\u003e, and \u003ccode\u003eInspectOptions.baseline\u003c/code\u003e / \u003ccode\u003eInspectResult.baselineDelta\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON report v2:\u003c/strong\u003e baseline runs emit \u003ccode\u003eschemaVersion: 2\u003c/code\u003e with a \u003ccode\u003ebaseline\u003c/code\u003e block (\u003ccode\u003enewCount\u003c/code\u003e, \u003ccode\u003efixedCount\u003c/code\u003e, \u003ccode\u003ebaseTotalCount\u003c/code\u003e) and \u003ccode\u003emode: \u0026quot;baseline\u0026quot;\u003c/code\u003e; \u003ccode\u003esummary.score\u003c/code\u003e stays the head score. v1 reports are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eGitHub Action\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePosts \u003cstrong\u003einline PR review comments\u003c/strong\u003e on the changed lines that triggered each diagnostic (with fix guidance + a docs link), plus a restyled CLI-style sticky summary with linkable findings and the new / fixed delta. The \u003ccode\u003eannotations\u003c/code\u003e input was removed.\u003c/li\u003e\n\u003cli\u003eOn pull requests it fetches the base commit for baselining — use \u003ccode\u003efetch-depth: 0\u003c/code\u003e on \u003ccode\u003eactions/checkout\u003c/code\u003e. New \u003ccode\u003efixed-issues\u003c/code\u003e output. Defaults: \u003ccode\u003eproject: \u0026quot;*\u0026quot;\u003c/code\u003e, \u003ccode\u003enode-version: 24\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCLI flags (fewer flags, fewer footguns)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--explain\u003c/code\u003e / \u003ccode\u003e--why\u003c/code\u003e → the \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e subcommand (\u003ccode\u003erules explain \u0026lt;rule\u0026gt;\u003c/code\u003e still explains what a rule means).\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--full\u003c/code\u003e (use \u003ccode\u003e--diff false\u003c/code\u003e to force a full scan), \u003ccode\u003e--pr-comment\u003c/code\u003e (the Action renders its comment from \u003ccode\u003e--json\u003c/code\u003e), and the positive \u003ccode\u003e--respect-inline-disables\u003c/code\u003e (already the default; use \u003ccode\u003e--no-respect-inline-disables\u003c/code\u003e for audit mode). The internal \u003ccode\u003e--changed-files-from\u003c/code\u003e is hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved flags now fail with a migration error instead of being silently dropped, and an empty \u003ccode\u003e--project\u003c/code\u003e filter (e.g. \u003ccode\u003e--project \u0026quot;,\u0026quot;\u003c/code\u003e) is rejected.\u003c/li\u003e\n\u003c/ul\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/millionco/react-doctor/pull/681\"\u003e#681\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/915745ef7b88730e153d93bf52ce48bce2806495\"\u003e\u003ccode\u003e915745e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003ereact-doctor experimental-lsp\u003c/code\u003e, an experimental language server that surfaces React Doctor diagnostics directly in your editor — VS Code, Cursor, Zed, Neovim, Sublime Text, Emacs, Helix, or any LSP client. It is gated behind the \u003ccode\u003eexperimental-\u003c/code\u003e prefix while its protocol, caching, and diagnostics stabilize. It scans the file you are editing live from the unsaved buffer, underlines the exact offending token via precise ranges, shows rich hovers (rule, category, recommendation, docs link), and offers quick fixes (disable-for-this-line with the correct comment style, suppress-all-in-file, explain, open docs, report false positive). It discovers every React project across workspace folders and monorepo packages, runs offline (no score lookup, no git), prioritizes open-buffer scans, supports push and pull diagnostics, and invalidates caches when config / package.json / lockfiles change. The background workspace scan is chunked so diagnostics stream in progressively (seconds to first results on large repos), parallelizes across all CPU cores, reserves a slot so edits stay responsive while it runs, and cancels in-flight work when config changes. Results are cached per file (by content metadata, invalidated on config change) and persisted to disk, so re-opening the editor or re-scanning surfaces diagnostics almost instantly — on an ~8,800-file repo a cold scan is ~27s and a warm scan ~2s.\u003c/p\u003e\n\u003cp\u003eStart it with \u003ccode\u003ereact-doctor experimental-lsp --stdio\u003c/code\u003e (or \u003ccode\u003enpx react-doctor@latest experimental-lsp --stdio\u003c/code\u003e). A \u003ccode\u003escanOnType\u003c/code\u003e initialization option toggles live-as-you-type scanning, with first-class companion extensions for VS Code/Cursor and Zed.\u003c/p\u003e\n\u003cp\u003eLike the CLI, the language server reports anonymized usage analytics to Sentry — a per-workspace-scan wide event plus session/scan counters — sharing the CLI's IP-stripping and path/secret scrubbing. Opt out with \u003ccode\u003eREACT_DOCTOR_NO_TELEMETRY=1\u003c/code\u003e (or by launching it with \u003ccode\u003e--no-telemetry\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.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/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew core API:\u003c/strong\u003e \u003ccode\u003ecomputeDiagnosticDelta\u003c/code\u003e, \u003ccode\u003eGit.showRefContent\u003c/code\u003e / \u003ccode\u003eGit.mergeBase\u003c/code\u003e, \u003ccode\u003ematerializeSourceTree\u003c/code\u003e, and \u003ccode\u003eInspectOptions.baseline\u003c/code\u003e / \u003ccode\u003eInspectResult.baselineDelta\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON report v2:\u003c/strong\u003e baseline runs emit \u003ccode\u003eschemaVersion: 2\u003c/code\u003e with a \u003ccode\u003ebaseline\u003c/code\u003e block (\u003ccode\u003enewCount\u003c/code\u003e, \u003ccode\u003efixedCount\u003c/code\u003e, \u003ccode\u003ebaseTotalCount\u003c/code\u003e) and \u003ccode\u003emode: \u0026quot;baseline\u0026quot;\u003c/code\u003e; \u003ccode\u003esummary.score\u003c/code\u003e stays the head score. v1 reports are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eGitHub Action\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePosts \u003cstrong\u003einline PR review comments\u003c/strong\u003e on the changed lines that triggered each diagnostic (with fix guidance + a docs link), plus a restyled CLI-style sticky summary with linkable findings and the new / fixed delta. The \u003ccode\u003eannotations\u003c/code\u003e input was removed.\u003c/li\u003e\n\u003cli\u003eOn pull requests it fetches the base commit for baselining — use \u003ccode\u003efetch-depth: 0\u003c/code\u003e on \u003ccode\u003eactions/checkout\u003c/code\u003e. New \u003ccode\u003efixed-issues\u003c/code\u003e output. Defaults: \u003ccode\u003eproject: \u0026quot;*\u0026quot;\u003c/code\u003e, \u003ccode\u003enode-version: 24\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCLI flags (fewer flags, fewer footguns)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--explain\u003c/code\u003e / \u003ccode\u003e--why\u003c/code\u003e → the \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e subcommand (\u003ccode\u003erules explain \u0026lt;rule\u0026gt;\u003c/code\u003e still explains what a rule means).\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--full\u003c/code\u003e (use \u003ccode\u003e--diff false\u003c/code\u003e to force a full scan), \u003ccode\u003e--pr-comment\u003c/code\u003e (the Action renders its comment from \u003ccode\u003e--json\u003c/code\u003e), and the positive \u003ccode\u003e--respect-inline-disables\u003c/code\u003e (already the default; use \u003ccode\u003e--no-respect-inline-disables\u003c/code\u003e for audit mode). The internal \u003ccode\u003e--changed-files-from\u003c/code\u003e is hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved flags now fail with a migration error instead of being silently dropped, and an empty \u003ccode\u003e--project\u003c/code\u003e filter (e.g. \u003ccode\u003e--project \u0026quot;,\u0026quot;\u003c/code\u003e) is rejected.\u003c/li\u003e\n\u003c/ul\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/millionco/react-doctor/pull/681\"\u003e#681\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/915745ef7b88730e153d93bf52ce48bce2806495\"\u003e\u003ccode\u003e915745e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003ereact-doctor experimental-lsp\u003c/code\u003e, an experimental language server that surfaces React Doctor diagnostics directly in your editor — VS Code, Cursor, Zed, Neovim, Sublime Text, Emacs, Helix, or any LSP client. It is gated behind the \u003ccode\u003eexperimental-\u003c/code\u003e prefix while its protocol, caching, and diagnostics stabilize. It scans the file you are editing live from the unsaved buffer, underlines the exact offending token via precise ranges, shows rich hovers (rule, category, recommendation, docs link), and offers quick fixes (disable-for-this-line with the correct comment style, suppress-all-in-file, explain, open docs, report false positive). It discovers every React project across workspace folders and monorepo packages, runs offline (no score lookup, no git), prioritizes open-buffer scans, supports push and pull diagnostics, and invalidates caches when config / package.json / lockfiles change. The background workspace scan is chunked so diagnostics stream in progressively (seconds to first results on large repos), parallelizes across all CPU cores, reserves a slot so edits stay responsive while it runs, and cancels in-flight work when config changes. Results are cached per file (by content metadata, invalidated on config change) and persisted to disk, so re-opening the editor or re-scanning surfaces diagnostics almost instantly — on an ~8,800-file repo a cold scan is ~27s and a warm scan ~2s.\u003c/p\u003e\n\u003cp\u003eStart it with \u003ccode\u003ereact-doctor experimental-lsp --stdio\u003c/code\u003e (or \u003ccode\u003enpx react-doctor@latest experimental-lsp --stdio\u003c/code\u003e). A \u003ccode\u003escanOnType\u003c/code\u003e initialization option toggles live-as-you-type scanning, with first-class companion extensions for VS Code/Cursor and Zed.\u003c/p\u003e\n\u003cp\u003eLike the CLI, the language server reports anonymized usage analytics to Sentry — a per-workspace-scan wide event plus session/scan counters — sharing the CLI's IP-stripping and path/secret scrubbing. Opt out with \u003ccode\u003eREACT_DOCTOR_NO_TELEMETRY=1\u003c/code\u003e (or by launching it with \u003ccode\u003e--no-telemetry\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.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/millionco/react-doctor/commit/f75ec7a1e7f4bf23654e5deb26dbdd9765b09ff5\"\u003e\u003ccode\u003ef75ec7a\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e feat(ci): \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues baseline, inline review comme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/915745ef7b88730e153d93bf52ce48bce2806495\"\u003e\u003ccode\u003e915745e\u003c/code\u003e\u003c/a\u003e feat(language-server): editor language server behind `react-doctor experiment...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.4.0/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/zys-contrib/ant-design/pull/4536","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zys-contrib%2Fant-design/issues/4536","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4536/packages"},{"uuid":"4472836569","node_id":"PR_kwDORm4UCc7c1qaA","number":368,"state":"closed","title":"chore(deps-dev): bump the development-minor-patch group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","app","packages","infra","local-dev"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-05-18T22:33:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T21:51:30.000Z","updated_at":"2026-05-18T22:33:23.000Z","time_to_close":2511,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-minor-patch","update_count":11,"packages":[{"name":"eslint","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"react-doctor","old_version":"0.1.6","new_version":"0.2.1","repository_url":"https://github.com/millionco/react-doctor"},{"name":"turbo","old_version":"2.9.12","new_version":"2.9.14","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.59.2","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.2","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@types/google.maps","old_version":"3.64.0","new_version":"3.64.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@react-email/ui","old_version":"6.1.4","new_version":"6.1.5","repository_url":"https://github.com/resend/react-email"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.0` |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.1.6` | `0.2.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.12` | `2.9.14` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.59.4` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.6` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.6` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@types/google.maps](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/google.maps) | `3.64.0` | `3.64.1` |\n| [@react-email/ui](https://github.com/resend/react-email/tree/HEAD/packages/ui) | `6.1.4` | `6.1.5` |\n\n\nUpdates `eslint` from 10.3.0 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94\"\u003e\u003ccode\u003e24db8cb\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.save() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20802\"\u003e#20802\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6\"\u003e\u003ccode\u003e2ef0549\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20857\"\u003e#20857\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732\"\u003e\u003ccode\u003ea429791\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003eeslint-webpack-plugin\u003c/code\u003e types integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20668\"\u003e#20668\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5\"\u003e\u003ccode\u003e9e37386\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003erecast\u003c/code\u003e with range approach in code-sample-minimizer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20682\"\u003e#20682\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0\"\u003e\u003ccode\u003e0dd1f9f\u003c/code\u003e\u003c/a\u003e test: disable warning for \u003ccode\u003evm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20845\"\u003e#20845\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b\"\u003e\u003ccode\u003e9da3c7b\u003c/code\u003e\u003c/a\u003e refactor: remove deprecated \u003ccode\u003emeta.language\u003c/code\u003e and migrate \u003ccode\u003emeta.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20716\"\u003e#20716\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b\"\u003e\u003ccode\u003e2099ed1\u003c/code\u003e\u003c/a\u003e refactor: add \u003ccode\u003emeta.defaultOptions\u003c/code\u003e to more rules, enable linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20800\"\u003e#20800\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e\"\u003e\u003ccode\u003ef1dfbc9\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20836\"\u003e#20836\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318\"\u003e\u003ccode\u003ec759413\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20843\"\u003e#20843\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa\"\u003e\u003ccode\u003e5b817d6\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/ast-utils (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20838\"\u003e#20838\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a\"\u003e\u003ccode\u003e1c13ae3\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/severity (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20835\"\u003e#20835\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/452c4010c07dc2e36fe6ec6a8c48298878e86887\"\u003e\u003ccode\u003e452c401\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed\"\u003e\u003ccode\u003eb6417e8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.1.6 to 0.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.2.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake filesystem walks tolerate EPERM/EACCES (macOS Library)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.2.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5be2eadd90b2248b28b228fad306808cec1bf758\"\u003e\u003ccode\u003e5be2ead\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add configuration-level controls for React Doctor's rule output. Users can now set top-level \u003ccode\u003erules\u003c/code\u003e and \u003ccode\u003ecategories\u003c/code\u003e severity overrides, tune individual output surfaces (\u003ccode\u003ecli\u003c/code\u003e, \u003ccode\u003eprComment\u003c/code\u003e, \u003ccode\u003escore\u003c/code\u003e, and \u003ccode\u003eciFailure\u003c/code\u003e) by tag/category/rule id, and rely on registered rule-family tags such as \u003ccode\u003edesign\u003c/code\u003e, \u003ccode\u003ereact-native\u003c/code\u003e, \u003ccode\u003eserver-action\u003c/code\u003e, \u003ccode\u003etest-noise\u003c/code\u003e, and \u003ccode\u003emigration-hint\u003c/code\u003e for broad filtering.\u003c/p\u003e\n\u003cp\u003eThe scan pipeline now applies those controls both when generating the oxlint config and when post-processing diagnostics, so \u003ccode\u003e\u0026quot;off\u0026quot;\u003c/code\u003e can skip rules before they run while \u003ccode\u003e\u0026quot;warn\u0026quot;\u003c/code\u003e / \u003ccode\u003e\u0026quot;error\u0026quot;\u003c/code\u003e restamp emitted diagnostics consistently across the CLI, score, PR comments, and CI failure gate. The oxlint plugin also exposes shared rule-set maps that the ESLint plugin reuses for its flat configs.\u003c/p\u003e\n\u003cp\u003eExpose the GitHub Action's \u003ccode\u003eannotations\u003c/code\u003e input so workflow users can opt into inline PR annotations without dropping down to the raw CLI.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/809e38cebabc15c42b3c40ee8c7a753c3d7549d0\"\u003e\u003ccode\u003e809e38c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Extract project / dependency / framework detection, the oxlint runner +\nscoring engine, and the shared TypeScript type layer out of the\n\u003ccode\u003ereact-doctor\u003c/code\u003e monolith into three new public workspace packages:\n\u003ccode\u003e@react-doctor/types\u003c/code\u003e, \u003ccode\u003e@react-doctor/project-info\u003c/code\u003e, and\n\u003ccode\u003e@react-doctor/core\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/249\"\u003e#249\u003c/a\u003e). The oxlint plugin is restructured into\nper-rule modules under \u003ccode\u003esrc/plugin/rules/\u0026lt;category\u0026gt;/\u0026lt;rule\u0026gt;.ts\u003c/code\u003e with a\ncodegen'd \u003ccode\u003erule-registry.ts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/218\"\u003e#218\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/228\"\u003e#228\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/230\"\u003e#230\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/231\"\u003e#231\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/234\"\u003e#234\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/235\"\u003e#235\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/236\"\u003e#236\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/242\"\u003e#242\u003c/a\u003e). Land the user-feedback sweep (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/208\"\u003e#208\u003c/a\u003e): scoring transparency hooks,\nper-rule severity + rule-set selection config options, and reduced\nfalse positives across the design / Tailwind / state-and-effects rule\nfamilies. Reorganise the CLI into \u003ccode\u003ecli/commands/\u003c/code\u003e + \u003ccode\u003ecli/utils/\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/250\"\u003e#250\u003c/a\u003e), and forward \u003ccode\u003ereactMajorVersion\u003c/code\u003e through programmatic\n\u003ccode\u003ediagnose()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/174\"\u003e#174\u003c/a\u003e).\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://github.com/millionco/react-doctor/commit/29b7229ea144cfe80c4401391eed3aa035071bcd\"\u003e\u003ccode\u003e29b7229\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eoxlint-plugin-react-doctor\u003c/code\u003e to \u003ccode\u003edependencies\u003c/code\u003e so it is installed\nalongside the CLI. The bundler correctly externalises the plugin (oxlint\nloads it by file path at runtime) but it was missing from the published\ndependency list, causing \u003ccode\u003eERR_MODULE_NOT_FOUND\u003c/code\u003e on \u003ccode\u003enpx react-doctor\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/99f6a6ad1cc41828172b26f17a84bcf2d66ff17c\"\u003e\u003ccode\u003e99f6a6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Rule-fix wave for the 0.2.0-beta.5 release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eScope \u003ccode\u003eno-secrets-in-client-code\u003c/code\u003e to client-reachable bindings -\nskips server-only modules, public env-prefixed values, and\nlocally-classified safe files (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/252\"\u003e#252\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enextjs-no-side-effect-in-get-handler\u003c/code\u003e stops flagging\n\u003ccode\u003eresponse.headers.set(...)\u003c/code\u003e and locally-constructed \u003ccode\u003eMap\u003c/code\u003e / \u003ccode\u003eSet\u003c/code\u003e /\n\u003ccode\u003eHeaders\u003c/code\u003e inside GET handlers; the same safe-bindings classifier\nbenefits \u003ccode\u003eserver-auth-actions\u003c/code\u003e and the TanStack Start\n\u003ccode\u003eget-mutation\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/260\"\u003e#260\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\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.9.12 to 2.9.14\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.9.14\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains important security fixes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eHigh:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/security/advisories/GHSA-5xc8-49mv-x4mm\"\u003eGHSA-5xc8-49mv-x4mm: Turborepo VSCode Extension command injection\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLow:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/security/advisories/GHSA-hcf7-66rw-9f5r\"\u003eGHSA-hcf7-66rw-9f5r: Login callback CSRF/session fixation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/security/advisories/GHSA-3qcw-2rhx-2726\"\u003eGHSA-3qcw-2rhx-2726: Unexpected local code execution during Yarn Berry detection\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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\u003erelease(turborepo): 2.9.12 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/12774\"\u003evercel/turborepo#12774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore docs mobile menu 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/12782\"\u003evercel/turborepo#12782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use \u003ccode\u003epull_request\u003c/code\u003e for PR title linting 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/12787\"\u003evercel/turborepo#12787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Scope GitHub Actions caches by branch 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/12788\"\u003evercel/turborepo#12788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Validate lockfiles without dependency downloads 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/12789\"\u003evercel/turborepo#12789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unneeded import form hash creation script in docs by \u003ca href=\"https://github.com/dancrumb\"\u003e\u003ccode\u003e@​dancrumb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12799\"\u003evercel/turborepo#12799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Validate auth callback state 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/12802\"\u003evercel/turborepo#12802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden VS Code extension command execution 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/12800\"\u003evercel/turborepo#12800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid project-local Yarn during detection 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/12801\"\u003evercel/turborepo#12801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Release 2.9.13 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/12803\"\u003evercel/turborepo#12803\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/dancrumb\"\u003e\u003ccode\u003e@​dancrumb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12799\"\u003evercel/turborepo#12799\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.9.12...v2.9.14\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.12...v2.9.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.13-canary.1\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\u003erelease(turborepo): 2.9.11-canary.7 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/12768\"\u003evercel/turborepo#12768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Allow \u003ccode\u003e$TURBO_EXTENDS$\u003c/code\u003e in LSP diagnostics 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/12770\"\u003evercel/turborepo#12770\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.11 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/12771\"\u003evercel/turborepo#12771\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Allow transit nodes in LSP diagnostics 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/12773\"\u003evercel/turborepo#12773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.12 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/12774\"\u003evercel/turborepo#12774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore docs mobile menu 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/12782\"\u003evercel/turborepo#12782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use \u003ccode\u003epull_request\u003c/code\u003e for PR title linting 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/12787\"\u003evercel/turborepo#12787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Scope GitHub Actions caches by branch 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/12788\"\u003evercel/turborepo#12788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Validate lockfiles without dependency downloads 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/12789\"\u003evercel/turborepo#12789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unneeded import form hash creation script in docs by \u003ca href=\"https://github.com/dancrumb\"\u003e\u003ccode\u003e@​dancrumb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12799\"\u003evercel/turborepo#12799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Validate auth callback state 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/12802\"\u003evercel/turborepo#12802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden VS Code extension command execution 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/12800\"\u003evercel/turborepo#12800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid project-local Yarn during detection 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/12801\"\u003evercel/turborepo#12801\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/fc62fe0d9c347d1d24f0ed8946284856593ddb93\"\u003e\u003ccode\u003efc62fe0\u003c/code\u003e\u003c/a\u003e publish 2.9.14 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fb8c9aec0f9e83f95783659a5ce9c4478cf62cb9\"\u003e\u003ccode\u003efb8c9ae\u003c/code\u003e\u003c/a\u003e chore: Release 2.9.13 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12803\"\u003e#12803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/e8e629da4e1fb75231089e91b19be9d327a3e649\"\u003e\u003ccode\u003ee8e629d\u003c/code\u003e\u003c/a\u003e fix: Avoid project-local Yarn during detection (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12801\"\u003e#12801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/91c90cbf12f524c5c29b713d6472dd5fcdecb309\"\u003e\u003ccode\u003e91c90cb\u003c/code\u003e\u003c/a\u003e fix: Harden VS Code extension command execution (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12800\"\u003e#12800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/84f450894e87da1eed864d51f6f637f26980d560\"\u003e\u003ccode\u003e84f4508\u003c/code\u003e\u003c/a\u003e fix: Validate auth callback state (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12802\"\u003e#12802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/1779ad7901384f106236a6e196059e4929745514\"\u003e\u003ccode\u003e1779ad7\u003c/code\u003e\u003c/a\u003e Removed unneeded import form hash creation script in docs (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12799\"\u003e#12799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/71f8c90a807ffb9b9876ea8a04f523f473bf5c8d\"\u003e\u003ccode\u003e71f8c90\u003c/code\u003e\u003c/a\u003e test: Validate lockfiles without dependency downloads (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12789\"\u003e#12789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5fcb96024d503127bb0ed760ebe159b7716c52b3\"\u003e\u003ccode\u003e5fcb960\u003c/code\u003e\u003c/a\u003e ci: Scope GitHub Actions caches by branch (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12788\"\u003e#12788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/4cf9fabc9a6f6c99fe4e2f2da9f35be631be062a\"\u003e\u003ccode\u003e4cf9fab\u003c/code\u003e\u003c/a\u003e ci: Use \u003ccode\u003epull_request\u003c/code\u003e for PR title linting (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12787\"\u003e#12787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/859c629bc401f239ac7980a132746ca90478e17c\"\u003e\u003ccode\u003e859c629\u003c/code\u003e\u003c/a\u003e fix: Restore docs mobile menu (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12782\"\u003e#12782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.12...v2.9.14\"\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.59.2 to 8.59.4\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.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md\"\u003etypescript-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for 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.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4b927c607755b2648d5854b9e928c1dbb2b8e088\"\u003e\u003ccode\u003e4b927c6\u003c/code\u003e\u003c/a\u003e fix(typescript-eslint): export Compatible* types from typescript-eslint to re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.4/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.2 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.6\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\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\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/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\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/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  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/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\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/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.21.0 to 4.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/privatenumber/tsx/releases\"\u003etsx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.22.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.1...v4.22.2\"\u003e4.22.2\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve CJS JSON require in ESM hooks (\u003ca href=\"https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e35b700b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve named exports from CommonJS TypeScript (\u003ca href=\"https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089\"\u003e11de737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport module.exports require(esm) interop (\u003ca href=\"https://github.com/privatenumber/tsx/commit/cf8f19918e4e0a0dc5ee5c52d8cc15e5e22d7c49\"\u003ecf8f199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.2\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.0...v4.22.1\"\u003e4.22.1\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve tsconfig path aliases containing a colon (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/6979f28810829dc79ec9baf406e162a18b65ab4b\"\u003e6979f28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.1\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.1...v4.22.0\"\u003e4.22.0\u003c/a\u003e (2026-05-14)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade esbuild to 0.28 (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/789\"\u003e#789\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/b29f6ee4d6872fdef474eb0a89c6d4e982478a77\"\u003eb29f6ee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.0\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.21.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.0...v4.21.1\"\u003e4.21.1\u003c/a\u003e (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Node 20.11/21.2 import.meta paths (\u003ca href=\"https://github.com/privatenumber/tsx/commit/acf3d8ffee39fcb4655956fc052b78666aacbc3d\"\u003eacf3d8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Node.js 24.15.0 (\u003ca href=\"https://github.com/privatenumber/tsx/commit/c1d2d45432eba7c6ff0785a43b0aeae85b5a3391\"\u003ec1d2d45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Node.js 26.1.0 and 25.9.0 (\u003ca href=\"https://github.com/privatenumber/tsx/commit/1d7e528762a7e4f801175fd7d7d6082b00df3e5c\"\u003e1d7e528\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\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/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e\u003ccode\u003e35b700b\u003c/code\u003e\u003c/a\u003e fix: preserve CJS JSON require in ESM hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/ef807dba6832260fb4cafd78d81f5469a733966b\"\u003e\u003ccode\u003eef807db\u003c/code\u003e\u003c/a\u003e chore: update testing dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/3917090d4f61863ea6ea16e4a9a3722a112cc3f7\"\u003e\u003ccode\u003e3917090\u003c/code\u003e\u003c/a\u003e test: document compatibility test taxonomy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/de8113ffa8edbcd4e05fa218324c3e8c2a4afdbe\"\u003e\u003ccode\u003ede8113f\u003c/code\u003e\u003c/a\u003e refactor: centralize Node capability facts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/c1f62db45ada60b24ceb3dfdf7f64173d9a15396\"\u003e\u003ccode\u003ec1f62db\u003c/code\u003e\u003c/a\u003e test: consolidate tsconfig path edge coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/4e08174ec10276ac71c9a69eb28426ad702d0c76\"\u003e\u003ccode\u003e4e08174\u003c/code\u003e\u003c/a\u003e test: consolidate loader hook coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/674bb30bc87ce00b36e9c820d47394defba9ae36\"\u003e\u003ccode\u003e674bb30\u003c/code\u003e\u003c/a\u003e test: consolidate tsImport commonjs mts coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/e6972ac44931e67125f9c122a0573c1e26eb46ed\"\u003e\u003ccode\u003ee6972ac\u003c/code\u003e\u003c/a\u003e test: stabilize process interaction tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/9736a802ba9af9160965df215049f2492c51709f\"\u003e\u003ccode\u003e9736a80\u003c/code\u003e\u003c/a\u003e test: safely decode stdout stream tex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089\"\u003e\u003ccode\u003e11de737\u003c/code\u003e\u003c/a\u003e fix: preserve named exports from CommonJS TypeScript\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for tsx since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.6\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\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\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/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\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/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  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/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\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/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/vitest\"\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.0.1 to 6.0.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.0.2\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\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/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.0.2 (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\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/vitejs/vite-plugin-react/commit/6535b55e956b425e6650ffc2cc98fd23cca1d231\"\u003e\u003ccode\u003e6535b55\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/bf0e43b756e3be81f8572d59727c218311f431ef\"\u003e\u003ccode\u003ebf0e43b\u003c/code\u003e\u003c/a\u003e feat(react): whitelist debugging-options (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3bd1f08ae0b82ee0e96feb2ff265e61c6fe74b54\"\u003e\u003ccode\u003e3bd1f08\u003c/code\u003e\u003c/a\u003e feat: use carets for rolldown versions (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/2b8df67323265d1ff5ddf47b2db9ab0b9de5c688\"\u003e\u003ccode\u003e2b8df67\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/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/8fa9619e1b1f51b079f4c1df6bcf076dcafc5aed\"\u003e\u003ccode\u003e8fa9619\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.6 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1211\"\u003e#1211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a4296ad2995a8d493528b8d5450a1209de2943cb\"\u003e\u003ccode\u003ea4296ad\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/1209\"\u003e#1209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/323ccd72576be636b50baa7d9ce816cc94d5991e\"\u003e\u003ccode\u003e323ccd7\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/1196\"\u003e#1196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a7506e105df00cdadc58c0aecc4512d8cfdd9765\"\u003e\u003ccode\u003ea7506e1\u003c/code\u003e\u003c/a\u003e chore(deps): update vite 8.0.10 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/02cff2a0cf5c7e9792b1612baa380228f5e4d3c1\"\u003e\u003ccode\u003e02cff2a\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/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/4b9c890cdb21078ac45a86873b24f7e8613b8526\"\u003e\u003ccode\u003e4b9c890\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.5 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.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 `@types/google.maps` from 3.64.0 to 3.64.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/google.maps\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@react-email/ui` from 6.1.4 to 6.1.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/react-email/blob/canary/packages/ui/CHANGELOG.md\"\u003e@​react-email/ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.5\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/549d95cda58f530df826c2cba033efdaea2e3b61\"\u003e\u003ccode\u003e549d95c\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/ui/issues/3519\"\u003e#3519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/resend/react-email/commits/@react-email/ui@6.1.5/packages/ui\"\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/percy-main/website-v2/pull/368","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/percy-main%2Fwebsite-v2/issues/368","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/368/packages"},{"uuid":"4416855641","node_id":"PR_kwDORm4UCc7aDKUI","number":268,"state":"open","title":"Bump the development-minor-patch group with 15 updates","user":"dependabot[bot]","labels":["dependencies","dev:merge"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-10T21:12:47.000Z","updated_at":"2026-05-11T00:02:50.939Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"development-minor-patch","update_count":15,"packages":[{"name":"eslint","old_version":"10.0.3","new_version":"10.3.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"7.0.1","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"prettier-plugin-tailwindcss","old_version":"0.7.2","new_version":"0.8.0","repository_url":"https://github.com/tailwindlabs/prettier-plugin-tailwindcss"},{"name":"react-doctor","old_version":"0.1.4","new_version":"0.1.6","repository_url":"https://github.com/millionco/react-doctor"},{"name":"typescript-eslint","old_version":"8.57.0","new_version":"8.59.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@testcontainers/postgresql","old_version":"11.12.0","new_version":"11.14.0","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"@types/node","old_version":"25.5.0","new_version":"25.6.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/pg","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.0","new_version":"4.1.5","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"testcontainers","old_version":"11.12.0","new_version":"11.14.0","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"vitest","old_version":"4.1.0","new_version":"4.1.5","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@types/google.maps","old_version":"3.58.1","new_version":"3.64.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@libsql/client","old_version":"0.17.0","new_version":"0.17.3","repository_url":"https://github.com/tursodatabase/libsql-client-ts"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [eslint](https://github.com/eslint/eslint) | `10.0.3` | `10.3.0` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) | `0.7.2` | `0.8.0` |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.1.4` | `0.1.6` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.57.0` | `8.59.2` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.12.0` | `11.14.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.0` | `25.6.2` |\n| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.18.0` | `8.20.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.0` | `4.1.5` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-node) | `11.12.0` | `11.14.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.0` | `4.1.5` |\n| [@types/google.maps](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/google.maps) | `3.58.1` | `3.64.0` |\n| [@libsql/client](https://github.com/tursodatabase/libsql-client-ts/tree/HEAD/packages/libsql-client) | `0.17.0` | `0.17.3` |\n\nUpdates `eslint` from 10.0.3 to 10.3.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.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\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/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\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/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f58136dd47364a4cae7054a64f7bf1e79693813\"\u003e\u003ccode\u003e2f58136\u003c/code\u003e\u003c/a\u003e chore: pin peter-evans/create-pull-request action to 5f6978f (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20810\"\u003e#20810\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/77add7f1bc91ed17bba3be3289928a9146c5f5a1\"\u003e\u003ccode\u003e77add7f\u003c/code\u003e\u003c/a\u003e chore: add initial ecosystem plugin tests workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19643\"\u003e#19643\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4023b55490fae55e464fe35530ef038cdf5d79a5\"\u003e\u003ccode\u003e4023b55\u003c/code\u003e\u003c/a\u003e test: Add unit tests for SuppressionsService.prune() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20797\"\u003e#20797\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/54080dad4f77bb39a1a843933d4ff3a2b7c175e2\"\u003e\u003ccode\u003e54080da\u003c/code\u003e\u003c/a\u003e test: add unit tests for ForkContext (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20778\"\u003e#20778\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0e2bcc4bf19253aaebfbd7df87824b0ca4a151f\"\u003e\u003ccode\u003ef0e2bcc\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.suppress() method (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20765\"\u003e#20765\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a7f0b94743a99bcdf8d07cff15ffbfa6a6c5f927\"\u003e\u003ccode\u003ea7f0b94\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20782\"\u003e#20782\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7bf93d9e79f6dbf77242cbb9a9b8be834730fccd\"\u003e\u003ccode\u003e7bf93d9\u003c/code\u003e\u003c/a\u003e chore: update TypeScript to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20677\"\u003e#20677\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b42dd72e76e7f90e7f0be9458288d93353052adc\"\u003e\u003ccode\u003eb42dd72\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20781\"\u003e#20781\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b252be80f362cca7be3326a6dbe958680fdfe9a\"\u003e\u003ccode\u003e2b252be\u003c/code\u003e\u003c/a\u003e test: add unit tests for IdGenerator (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20775\"\u003e#20775\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.2.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/14be92b6d1fa0923b8923830f2208e5e2705b002\"\u003e\u003ccode\u003e14be92b\u003c/code\u003e\u003c/a\u003e fix: model generator yield resumption paths in code path analysis (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20665\"\u003e#20665\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84a19d2c32255db6b9cfc08644a607aae6d5cb62\"\u003e\u003ccode\u003e84a19d2\u003c/code\u003e\u003c/a\u003e fix: no-async-promise-executor false positives for shadowed Promise (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20740\"\u003e#20740\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/af764af0ec38225755fbf8a6f207f0c77b595a8d\"\u003e\u003ccode\u003eaf764af\u003c/code\u003e\u003c/a\u003e fix: clarify language and processor validation errors (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20729\"\u003e#20729\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e251b89a38280973e468a4a9386c138f4f55d10d\"\u003e\u003ccode\u003ee251b89\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20715\"\u003e#20715\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca92ca0fb4599e8de1e2fb914e695fe7397cbe63\"\u003e\u003ccode\u003eca92ca0\u003c/code\u003e\u003c/a\u003e docs: reuse markdown-it instance for markdown filter (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20768\"\u003e#20768\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/57d2ee213305cee0cb55ef08e0480b57396269a9\"\u003e\u003ccode\u003e57d2ee2\u003c/code\u003e\u003c/a\u003e docs:  Enable Eleventy incremental mode for watch (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20767\"\u003e#20767\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c1621b915742276e5f4b25efe790ca62296330dc\"\u003e\u003ccode\u003ec1621b9\u003c/code\u003e\u003c/a\u003e docs: fix typos in code-path-analyzer.js (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20700\"\u003e#20700\u003c/a\u003e) (Ayush Shukla)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1418d522d10bde1960f4942afb548bc7160ec49e\"\u003e\u003ccode\u003e1418d52\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/39771e6e600f0b0617fdeafff6dd07e4211ffde6\"\u003e\u003ccode\u003e39771e6\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/71e04693def2df57268f08f3072a2749df6bf438\"\u003e\u003ccode\u003e71e0469\u003c/code\u003e\u003c/a\u003e docs: fix incomplete JSDoc param description in no-shadow rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20728\"\u003e#20728\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22119ceb93e28f62262fc1d98ff1b1442d6e2dbf\"\u003e\u003ccode\u003e22119ce\u003c/code\u003e\u003c/a\u003e docs: clarify scope of for-direction rule with dead code examples (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20723\"\u003e#20723\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8f3fb77f122a5641d1833cad5d93f3f54fa3be0b\"\u003e\u003ccode\u003e8f3fb77\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003emeta.docs.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20718\"\u003e#20718\u003c/a\u003e) (Pixel998)\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/7ddfea9c4f62add1588c5c0b0da568c299246383\"\u003e\u003ccode\u003e7ddfea9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20770\"\u003e#20770\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fac40e1de2ba7646cc7cd2d3f93fbdd1f8819001\"\u003e\u003ccode\u003efac40e1\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20763\"\u003e#20763\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7246f923332522d8b3d46b6ee646fce88535f3fb\"\u003e\u003ccode\u003e7246f92\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.load() error handling (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20734\"\u003e#20734\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f34b1e592b0f63d766d9903998e8e36eb49d3aa\"\u003e\u003ccode\u003e4f34b1e\u003c/code\u003e\u003c/a\u003e chore: update pnpm/action-setup action to v5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20762\"\u003e#20762\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/78892043a36da4aa7640b59c99344b00c181048a\"\u003e\u003ccode\u003e7889204\u003c/code\u003e\u003c/a\u003e 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b69b4fce4dc407c8e960eba638b5a3409c4f1fd\"\u003e\u003ccode\u003e5b69b4f\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.0.3...v10.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-react-hooks` from 7.0.1 to 7.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003eeslint-plugin-react-hooks's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eeslint-plugin-react-hooks@7.1.1 (April 17, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e 7.1.0 accidentally removed the \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule, causing errors for users who referenced it in their ESLint config. This is now fixed.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd deprecated no-op \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule for backwards compatibility. (\u003ca href=\"https://github.com/mofeiZ\"\u003e\u003ccode\u003e@​mofeiZ\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36307\"\u003e#36307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eeslint-plugin-react-hooks@7.1.0 (April 16, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better \u003ccode\u003eset-state-in-effect\u003c/code\u003e detection, improved ref validation, and more helpful error reporting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ESLint v10 support. (\u003ca href=\"https://github.com/azat-io\"\u003e\u003ccode\u003e@​azat-io\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35720\"\u003e#35720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip compilation for non-React files to improve performance. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35589\"\u003e#35589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix exhaustive deps bug with Flow type casting. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35691\"\u003e#35691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseEffectEvent\u003c/code\u003e checks in component syntax. (\u003ca href=\"https://github.com/jbrown215\"\u003e\u003ccode\u003e@​jbrown215\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35041\"\u003e#35041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eset-state-in-effect\u003c/code\u003e validation with fewer false negatives. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35134\"\u003e#35134\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35147\"\u003e#35147\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35214\"\u003e#35214\u003c/a\u003e, \u003ca href=\"https://github.com/chesnokov-tony\"\u003e\u003ccode\u003e@​chesnokov-tony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35419\"\u003e#35419\u003c/a\u003e, \u003ca href=\"https://github.com/jsleitor\"\u003e\u003ccode\u003e@​jsleitor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36107\"\u003e#36107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved ref validation for non-mutating functions and event handler props. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35893\"\u003e#35893\u003c/a\u003e, \u003ca href=\"https://github.com/kolvian\"\u003e\u003ccode\u003e@​kolvian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35062\"\u003e#35062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompiler now reports all errors instead of stopping at the first. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35873\"\u003e#35873\u003c/a\u003e–\u003ca href=\"https://redirect.github.com/facebook/react/pull/35884\"\u003e#35884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved source locations and error display in compiler diagnostics. (\u003ca href=\"https://github.com/nathanmarks\"\u003e\u003ccode\u003e@​nathanmarks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35348\"\u003e#35348\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/34963\"\u003e#34963\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/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md\"\u003eeslint-plugin-react-hooks's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e 7.1.0 accidentally removed the \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule, causing errors for users who referenced it in their ESLint config. This is now fixed.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd deprecated no-op \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule for backwards compatibility. (\u003ca href=\"https://github.com/mofeiZ\"\u003e\u003ccode\u003e@​mofeiZ\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36307\"\u003e#36307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eThis release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better \u003ccode\u003eset-state-in-effect\u003c/code\u003e detection, improved ref validation, and more helpful error reporting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ESLint v10 support. (\u003ca href=\"https://github.com/azat-io\"\u003e\u003ccode\u003e@​azat-io\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35720\"\u003e#35720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip compilation for non-React files to improve performance. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35589\"\u003e#35589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix exhaustive deps bug with Flow type casting. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35691\"\u003e#35691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseEffectEvent\u003c/code\u003e checks in component syntax. (\u003ca href=\"https://github.com/jbrown215\"\u003e\u003ccode\u003e@​jbrown215\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35041\"\u003e#35041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eset-state-in-effect\u003c/code\u003e validation with fewer false negatives. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35134\"\u003e#35134\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35147\"\u003e#35147\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35214\"\u003e#35214\u003c/a\u003e, \u003ca href=\"https://github.com/chesnokov-tony\"\u003e\u003ccode\u003e@​chesnokov-tony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35419\"\u003e#35419\u003c/a\u003e, \u003ca href=\"https://github.com/jsleitor\"\u003e\u003ccode\u003e@​jsleitor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36107\"\u003e#36107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved ref validation for non-mutating functions and event handler props. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35893\"\u003e#35893\u003c/a\u003e, \u003ca href=\"https://github.com/kolvian\"\u003e\u003ccode\u003e@​kolvian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35062\"\u003e#35062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompiler now reports all errors instead of stopping at the first. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35873\"\u003e#35873\u003c/a\u003e–\u003ca href=\"https://redirect.github.com/facebook/react/pull/35884\"\u003e#35884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved source locations and error display in compiler diagnostics. (\u003ca href=\"https://github.com/nathanmarks\"\u003e\u003ccode\u003e@​nathanmarks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35348\"\u003e#35348\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/34963\"\u003e#34963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/eslint-plugin-react-hooks@7.1.1/packages/eslint-plugin-react-hooks\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier-plugin-tailwindcss` from 0.7.2 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases\"\u003eprettier-plugin-tailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.7.4\u003c/h2\u003e\n\u003cp\u003eSame as v0.7.2, since v0.7.3 contained breaking changes.\u003c/p\u003e\n\u003ch2\u003ev0.7.3\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\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/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md\"\u003eprettier-plugin-tailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.0] - 2026-04-27\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\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/tailwindlabs/prettier-plugin-tailwindcss/commit/f77532e1c604f1ab06bc1b9902f6d9b115150998\"\u003e\u003ccode\u003ef77532e\u003c/code\u003e\u003c/a\u003e 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/4815377fb1bb89cfe94bcbf566d1d6283f8e41e3\"\u003e\u003ccode\u003e4815377\u003c/code\u003e\u003c/a\u003e Update the changelog for recent PRs (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/0a7ddcb677a9ae10837f9941ae9fef2d9b33386d\"\u003e\u003ccode\u003e0a7ddcb\u003c/code\u003e\u003c/a\u003e Fix insiders tags sometimes published to latest channel (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/8066e85c13026f118bef653217d34f5aed0bec20\"\u003e\u003ccode\u003e8066e85\u003c/code\u003e\u003c/a\u003e release on \u003ccode\u003epublished\u003c/code\u003e event\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3b0ed57817c1b44ecf14484b55e3720fe15dc261\"\u003e\u003ccode\u003e3b0ed57\u003c/code\u003e\u003c/a\u003e move \u003ccode\u003e--silent\u003c/code\u003e flag before the script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/f7d2598fe00779cd362819437f4f0a1f866208fc\"\u003e\u003ccode\u003ef7d2598\u003c/code\u003e\u003c/a\u003e 0.7.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/9a511914abfa10fa6f66405cee3e46892b9b6a2b\"\u003e\u003ccode\u003e9a51191\u003c/code\u003e\u003c/a\u003e merge \u003ccode\u003erelease.yml\u003c/code\u003e and \u003ccode\u003erelease-insiders.yml\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3997fbd5ddf63b8b5bf600bff00b128acc8bfb7e\"\u003e\u003ccode\u003e3997fbd\u003c/code\u003e\u003c/a\u003e Use explicit import() expressions in plugin load arrays for bundler compatibi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/125a8bc77639529a5a0c7e4e8a02174d7ed2d70b\"\u003e\u003ccode\u003e125a8bc\u003c/code\u003e\u003c/a\u003e Fix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/2ac6e70fe9ef595cd910fc94ab98431ad652c6e4\"\u003e\u003ccode\u003e2ac6e70\u003c/code\u003e\u003c/a\u003e Enable \u003ccode\u003eminify: \u0026quot;dce-only\u003c/code\u003e in tsdown (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.7.2...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for prettier-plugin-tailwindcss since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.1.4 to 0.1.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.1.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb06b768: \u003ccode\u003ediagnose()\u003c/code\u003e now falls back to the first nested React subproject when the\nrequested directory has no root \u003ccode\u003epackage.json\u003c/code\u003e, instead of crashing with\n\u003ccode\u003eNo package.json found in \u0026lt;directory\u0026gt;\u003c/code\u003e. This unblocks external review\nrunners (e.g. the Vercel AI Code Review sandbox) that point \u003ccode\u003ediagnose()\u003c/code\u003e\nat the cloned repo root for projects whose \u003ccode\u003epackage.json\u003c/code\u003e lives in a\nsubfolder like \u003ccode\u003eapps/web\u003c/code\u003e. When neither the root nor any nested\nsubdirectory contains a React project, \u003ccode\u003ediagnose()\u003c/code\u003e now throws a clearer\n\u003ccode\u003eNo React project found in \u0026lt;directory\u0026gt;\u003c/code\u003e error.\u003c/li\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/HEAD/packages/react-doctor\"\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.57.0 to 8.59.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\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e add TypeScript as a peer dependency (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12288\"\u003e#12288\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDariusz Czajkowski\u003c/li\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.1\u003c/h2\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\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-assertion] fix crash \u0026quot;TypeError: checker.getTypeArguments is not a function\u0026quot; (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246\"\u003e#12246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve index signatures in undefined unions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257\"\u003e#12257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269\"\u003e#12269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278\"\u003e#12278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-arguments] handle instantiation expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220\"\u003e#12220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241\"\u003e#12241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eanasm266 \u003ca href=\"https://github.com/anasm266\"\u003e\u003ccode\u003e@​anasm266\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnshika Jain \u003ca href=\"https://github.com/Anshikakalpana\"\u003e\u003ccode\u003e@​Anshikakalpana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUlrich Stark\u003c/li\u003e\n\u003cli\u003eyugo innami \u003ca href=\"https://github.com/nami8824\"\u003e\u003ccode\u003e@​nami8824\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.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\u003ev8.59.0\u003c/h2\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] report more cases based on assignability (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789\"\u003e#11789\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\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.59.2 (2026-05-04)\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.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for 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.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for 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.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove tsbuildinfo cache file from published packages (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbhijeet Singh \u003ca href=\"https://github.com/cseas\"\u003e\u003ccode\u003e@​cseas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.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.58.1 (2026-04-08)\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.58.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.58.0 (2026-03-30)\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/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/b3315fd7ba53b7da218e5675cd960939b80a76ab\"\u003e\u003ccode\u003eb3315fd\u003c/code\u003e\u003c/a\u003e chore: convert import eslint to import js - followup (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12100\"\u003e#12100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.2/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.12.0 to 11.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.14.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd auto cleanup control for containers and compose environments \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for running in parallel for distinct UIDs \u003ca href=\"https://github.com/seanwu1105\"\u003e\u003ccode\u003e@​seanwu1105\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument LocalStack authentication requirements \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOnly include TS files in test coverage paths \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1294\"\u003e#1294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix etcd/vault \u003ccode\u003erepository.url\u003c/code\u003e in package.json \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1289\"\u003e#1289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 21 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump mkdocs-material from 9.7.5 to 9.7.6 in the dependencies group @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 11 directories with 10 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 19 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.13.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Oracle Free module \u003ca href=\"https://github.com/collinmurd\"\u003e\u003ccode\u003e@​collinmurd\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove AGENTS.md monorepo and PR-authoring guidance \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1265\"\u003e#1265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore search input after Material for MkDocs v9 update \u003ca href=\"https://github.com/HofmeisterAn\"\u003e\u003ccode\u003e@​HofmeisterAn\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1259\"\u003e#1259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Vitest global setup quickstart for Redis \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1245\"\u003e#1245\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDisable sourcemap emission to avoid missing source warnings \u003ca href=\"https://github.com/tmm\"\u003e\u003ccode\u003e@​tmm\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1268\"\u003e#1268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNPM audit \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1266\"\u003e#1266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove Vault test client from node-vault to \u003ccode\u003e@​litehex/node-vault\u003c/code\u003e \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow couchbase patch version updates \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1251\"\u003e#1251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExempt never-stale issues from stale workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1241\"\u003e#1241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale issue workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1240\"\u003e#1240\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump mkdocs-material from 9.7.4 to 9.7.5 in the dependencies group @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1269\"\u003e#1269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/afe8b7242d644d08b52eb24d9af85041f13497b0\"\u003e\u003ccode\u003eafe8b72\u003c/code\u003e\u003c/a\u003e Document LocalStack authentication requirements (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/841179f10af797189c3e743ed6ac905b0a593541\"\u003e\u003ccode\u003e841179f\u003c/code\u003e\u003c/a\u003e Only include TS files in test coverage paths (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1294\"\u003e#1294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4b470b5df4e444c15d105eae9b73aa612043a1f5\"\u003e\u003ccode\u003e4b470b5\u003c/code\u003e\u003c/a\u003e Add auto cleanup control for containers and compose (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/74b245394e3f4b6745412bffe0830d9cd3504909\"\u003e\u003ccode\u003e74b2453\u003c/code\u003e\u003c/a\u003e Add support for running in parallel for distinct UIDs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/a6c535815e1278fb69e9929412876dad61b7b038\"\u003e\u003ccode\u003ea6c5358\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1289\"\u003e#1289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d0a1df4c12713d0a0ce8a86f72d86608acaa2d2e\"\u003e\u003ccode\u003ed0a1df4\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 1 directory with 21 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/e881d4914e7f3a89617fa69902353f0bb6f36470\"\u003e\u003ccode\u003ee881d49\u003c/code\u003e\u003c/a\u003e Bump mkdocs-material from 9.7.5 to 9.7.6 in the dependencies group (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/9c94bde330c7b6f3c6a3e806503370d053066a64\"\u003e\u003ccode\u003e9c94bde\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 11 directories with 10 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/6b78e96e2bfd2bd6edb1fb09f801d8692abbc0c2\"\u003e\u003ccode\u003e6b78e96\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 19 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/a20ac805c516500742e1d85051c4f03d101942ac\"\u003e\u003ccode\u003ea20ac80\u003c/code\u003e\u003c/a\u003e Fix etcd/vault \u003ccode\u003erepository.url\u003c/code\u003e in package.json (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.12.0...v11.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.5.0 to 25.6.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/pg` from 8.18.0 to 8.20.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/pg\"\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 4.1.0 to 4.1.5\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\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\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/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  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/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\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/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  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/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  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/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\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/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\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\u003eAdd filterMeta option to json reporter  -  by \u003ca href=\"https://github.com/nami8824\"\u003e\u003ccode\u003e@​nami8824\u003c/code\u003e\u003c/a\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/10078\"\u003evitest-dev/vitest#10078\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b77de968e\"\u003e\u003c!-- raw HTML omitted --\u003e(b77de)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u0026quot;black\u0026quot; foreground for labeled terminal message to ensure contrast  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10076\"\u003evitest-dev/vitest#10076\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/203f07af7\"\u003e\u003c!-- raw HTML omitted --\u003e(203f0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eexpect(..., message)\u003c/code\u003e consistent as error message prefix  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10068\"\u003evitest-dev/vitest#10068\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a1b5f0f4f\"\u003e\u003c!-- raw HTML omitted --\u003e(a1b5f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not hoist imports whose names match class properties .  -  by \u003ca href=\"https://github.com/SunsetFi\"\u003e\u003ccode\u003e@​SunsetFi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10093\"\u003evitest-dev/vitest#10093\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10094\"\u003evitest-dev/vitest#10094\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fc4b47e0\"\u003e\u003c!-- raw HTML omitted --\u003e(0fc4b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Spread user server options into browser Vite server in project  -  by \u003ca href=\"https://github.com/GoldStrikeArch\"\u003e\u003ccode\u003e@​GoldStrikeArch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10049\"\u003evitest-dev/vitest#10049\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/65c9d55eb\"\u003e\u003c!-- raw HTML omitted --\u003e(65c9d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.3...v4.1.4\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.3\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eexperimental.preParse\u003c/code\u003e flag  -  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/10070\"\u003evitest-dev/vitest#10070\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7827363bd\"\u003e\u003c!-- raw HTML omitted --\u003e(78273)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ebrowser.locators.exact\u003c/code\u003e option  -  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/10013\"\u003evitest-dev/vitest#10013\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/487990a19\"\u003e\u003c!-- raw HTML omitted --\u003e(48799)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eTestAttachment.bodyEncoding\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/percy-main/website-v2/pull/268","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/percy-main%2Fwebsite-v2/issues/268","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/268/packages"},{"uuid":"4377990705","node_id":"PR_kwDORhzsZs7YFMMS","number":31,"state":"closed","title":"chore(deps): bump the npm-minor-patch group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T20:00:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T16:14:08.000Z","updated_at":"2026-05-11T20:00:59.000Z","time_to_close":618409,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-minor-patch","update_count":14,"packages":[{"name":"@tanstack/react-query","old_version":"5.99.2","new_version":"5.100.9","repository_url":"https://github.com/TanStack/query"},{"name":"@tanstack/react-query-devtools","old_version":"5.99.2","new_version":"5.100.9","repository_url":"https://github.com/TanStack/query"},{"name":"dompurify","old_version":"3.4.0","new_version":"3.4.2","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"react-router-dom","old_version":"7.14.1","new_version":"7.14.2","repository_url":"https://github.com/remix-run/react-router"},{"name":"@tailwindcss/vite","old_version":"4.2.3","new_version":"4.2.4","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@vitest/coverage-v8","old_version":"4.1.4","new_version":"4.1.5","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"10.2.1","new_version":"10.3.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jsdom","old_version":"29.0.2","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"react-doctor","old_version":"0.0.37","new_version":"0.0.47","repository_url":"https://github.com/millionco/react-doctor"},{"name":"typescript-eslint","old_version":"8.59.0","new_version":"8.59.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"8.0.9","new_version":"8.0.10","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-minor-patch group with 12 updates in the /frontend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.99.2` | `5.100.9` |\n| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.99.2` | `5.100.9` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.0` | `3.4.2` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.1` | `7.14.2` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.3` | `4.2.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.4` | `4.1.5` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.3.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.37` | `0.0.47` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.0` | `8.59.1` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.9` | `8.0.10` |\n\n\nUpdates `@tanstack/react-query` from 5.99.2 to 5.100.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/fcee7bdc429385ae8ffa224fa8a7a9ec7b8ee380\"\u003e\u003ccode\u003efcee7bd\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e@​tanstack/react-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/fcee7bdc429385ae8ffa224fa8a7a9ec7b8ee380\"\u003e\u003ccode\u003efcee7bd\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/a53ef97f87decb8ea2431710f5199431d3c94c8d\"\u003e\u003ccode\u003ea53ef97\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(suspense): skip calling combine when queries would suspend (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10576\"\u003e#10576\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/f85d825e02efbbff02e2081528ed28f5e5382f7a\"\u003e\u003ccode\u003ef85d825\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.3\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/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/87f7ccf580d7c12c527ce922a43977c9c653f897\"\u003e\u003ccode\u003e87f7ccf\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10604\"\u003e#10604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/441204b9d22d1dcfc7ac85b04c21ce017a28603e\"\u003e\u003ccode\u003e441204b\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10582\"\u003e#10582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/55afb3e6fb631d684e9448b8265c68a4185c76b3\"\u003e\u003ccode\u003e55afb3e\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10581\"\u003e#10581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/fe287cc2471b74726a5d05f1c40a86a9ef891c7e\"\u003e\u003ccode\u003efe287cc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10579\"\u003e#10579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f85d825e02efbbff02e2081528ed28f5e5382f7a\"\u003e\u003ccode\u003ef85d825\u003c/code\u003e\u003c/a\u003e Feature/use suspense queries combine (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10576\"\u003e#10576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/93b28450008eb104bf3a9d661f0a5625719bd2ea\"\u003e\u003ccode\u003e93b2845\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10575\"\u003e#10575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/ea4497e8aa00d8c1c3a36fb1e17563a889d6ab31\"\u003e\u003ccode\u003eea4497e\u003c/code\u003e\u003c/a\u003e fix(query-core): stop wrapping persister generics in NoInfer (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10510\"\u003e#10510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.100.9/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-query-devtools` from 5.99.2 to 5.100.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edocs(devtools): align logo, panel, and 'buttonPosition' union descriptions across docs and JSDoc (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10617\"\u003e#10617\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md\"\u003e@​tanstack/react-query-devtools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edocs(devtools): align logo, panel, and 'buttonPosition' union descriptions across docs and JSDoc (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10617\"\u003e#10617\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.5\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(devtools): change onClose callback type from () =\u0026gt; unknown to () =\u0026gt; void (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10118\"\u003e#10118\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d1a62e63bd864359e369bb21356fa80d043f2ba\"\u003e\u003ccode\u003e3d1a62e\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/03eba38ae9f9367022316d802d827a8460edcab7\"\u003e\u003ccode\u003e03eba38\u003c/code\u003e\u003c/a\u003e test(react-query-devtools): add tests for missing 'QueryClient', context prov...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/868577d5daa6de7dc7698f8b41ad5cf225606d05\"\u003e\u003ccode\u003e868577d\u003c/code\u003e\u003c/a\u003e docs(devtools): align logo, panel, and option union descriptions across docs ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/87f7ccf580d7c12c527ce922a43977c9c653f897\"\u003e\u003ccode\u003e87f7ccf\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10604\"\u003e#10604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/441204b9d22d1dcfc7ac85b04c21ce017a28603e\"\u003e\u003ccode\u003e441204b\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10582\"\u003e#10582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/55afb3e6fb631d684e9448b8265c68a4185c76b3\"\u003e\u003ccode\u003e55afb3e\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10581\"\u003e#10581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3d1a62e63bd864359e369bb21356fa80d043f2ba\"\u003e\u003ccode\u003e3d1a62e\u003c/code\u003e\u003c/a\u003e fix(devtools): change onClose callback type from () =\u0026gt; unknown to () … (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10118\"\u003e#10118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/fe287cc2471b74726a5d05f1c40a86a9ef891c7e\"\u003e\u003ccode\u003efe287cc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10579\"\u003e#10579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.9/packages/react-query-devtools\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dompurify` from 3.4.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cure53/DOMPurify/releases\"\u003edompurify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDOMPurify 3.4.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue with URI validation on attributes allowed via \u003ccode\u003eADD_ATTR\u003c/code\u003e callback, thanks \u003ca href=\"https://github.com/nelstrom\"\u003e\u003ccode\u003e@​nelstrom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with source maps referring to non-existing files, thanks \u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated existing workflows, fuzzer, release signing, etc., added more tests\u003c/li\u003e\n\u003cli\u003eBumped several dependencies where possible\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDOMPurify 3.4.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue with on-handler stripping for HTML-spec-reserved custom element names (\u003ccode\u003efont-face\u003c/code\u003e, \u003ccode\u003ecolor-profile\u003c/code\u003e, \u003ccode\u003emissing-glyph\u003c/code\u003e, \u003ccode\u003efont-face-src\u003c/code\u003e, \u003ccode\u003efont-face-uri\u003c/code\u003e, \u003ccode\u003efont-face-format\u003c/code\u003e, \u003ccode\u003efont-face-name\u003c/code\u003e) under permissive \u003ccode\u003eCUSTOM_ELEMENT_HANDLING\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed a case-sensitivity gap in the \u003ccode\u003eannotation-xml\u003c/code\u003e check that allowed mixed-case variants to bypass the basic-custom-element exclusion in XHTML mode\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSANITIZE_NAMED_PROPS\u003c/code\u003e repeatedly prefixing already-prefixed \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ename\u003c/code\u003e values on subsequent sanitization\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eIN_PLACE\u003c/code\u003e root-node check to explicitly guard against non-string \u003ccode\u003enodeName\u003c/code\u003e (DOM-clobbering robustness)\u003c/li\u003e\n\u003cli\u003eRemoved a duplicate \u003ccode\u003eslot\u003c/code\u003e entry from the default HTML attribute allow-list\u003c/li\u003e\n\u003cli\u003eStrengthened the fast-check fuzz harness with explicit XSS invariants, an expanded seed-payload corpus, an additional idempotence property for \u003ccode\u003eSANITIZE_NAMED_PROPS\u003c/code\u003e, and a negative-control assertion ensuring the invariants actually fire\u003c/li\u003e\n\u003cli\u003eAdded regression and pinning tests covering the above fixes and two accepted-behavior contracts (\u003ccode\u003eSAFE_FOR_TEMPLATES\u003c/code\u003e greedy scrub, hook-added attribute handling)\u003c/li\u003e\n\u003cli\u003eExtended CodeQL analysis to run on \u003ccode\u003e3.x\u003c/code\u003e and \u003ccode\u003e2.x\u003c/code\u003e maintenance branches\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/6f67fd396a7b8c64294343999fe607ca1f5299c0\"\u003e\u003ccode\u003e6f67fd3\u003c/code\u003e\u003c/a\u003e Sync/3.4.2 (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/5b0cdbbf52331e854c0a2de875b1a3790ecec2b8\"\u003e\u003ccode\u003e5b0cdbb\u003c/code\u003e\u003c/a\u003e chore: merge main into 3.x for 3.4.1 release (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/09f59115a311469de5b625225760593e551f080a\"\u003e\u003ccode\u003e09f5911\u003c/code\u003e\u003c/a\u003e test: added three more browsers to test setup (OSX, mobile)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cure53/DOMPurify/compare/3.4.0...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-router-dom` from 7.14.1 to 7.14.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md\"\u003ereact-router-dom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.14.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.14.2\"\u003e\u003ccode\u003ereact-router@7.14.2\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/remix-run/react-router/commit/cf1d25003aa1217dc21c16e95d483601940ae9af\"\u003e\u003ccode\u003ecf1d250\u003c/code\u003e\u003c/a\u003e Release v7.14.2 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom/issues/14993\"\u003e#14993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/react-router-dom@7.14.2/packages/react-router-dom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.3 to 4.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-vite\"\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 4.1.4 to 4.1.5\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\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\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/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  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/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\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/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  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/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\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/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.5/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.2.1 to 10.3.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.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\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/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\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/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f58136dd47364a4cae7054a64f7bf1e79693813\"\u003e\u003ccode\u003e2f58136\u003c/code\u003e\u003c/a\u003e chore: pin peter-evans/create-pull-request action to 5f6978f (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20810\"\u003e#20810\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/77add7f1bc91ed17bba3be3289928a9146c5f5a1\"\u003e\u003ccode\u003e77add7f\u003c/code\u003e\u003c/a\u003e chore: add initial ecosystem plugin tests workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19643\"\u003e#19643\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4023b55490fae55e464fe35530ef038cdf5d79a5\"\u003e\u003ccode\u003e4023b55\u003c/code\u003e\u003c/a\u003e test: Add unit tests for SuppressionsService.prune() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20797\"\u003e#20797\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/54080dad4f77bb39a1a843933d4ff3a2b7c175e2\"\u003e\u003ccode\u003e54080da\u003c/code\u003e\u003c/a\u003e test: add unit tests for ForkContext (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20778\"\u003e#20778\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0e2bcc4bf19253aaebfbd7df87824b0ca4a151f\"\u003e\u003ccode\u003ef0e2bcc\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.suppress() method (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20765\"\u003e#20765\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a7f0b94743a99bcdf8d07cff15ffbfa6a6c5f927\"\u003e\u003ccode\u003ea7f0b94\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20782\"\u003e#20782\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7bf93d9e79f6dbf77242cbb9a9b8be834730fccd\"\u003e\u003ccode\u003e7bf93d9\u003c/code\u003e\u003c/a\u003e chore: update TypeScript to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20677\"\u003e#20677\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b42dd72e76e7f90e7f0be9458288d93353052adc\"\u003e\u003ccode\u003eb42dd72\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20781\"\u003e#20781\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b252be80f362cca7be3326a6dbe958680fdfe9a\"\u003e\u003ccode\u003e2b252be\u003c/code\u003e\u003c/a\u003e test: add unit tests for IdGenerator (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20775\"\u003e#20775\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/78892043a36da4aa7640b59c99344b00c181048a\"\u003e\u003ccode\u003e7889204\u003c/code\u003e\u003c/a\u003e 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b69b4fce4dc407c8e960eba638b5a3409c4f1fd\"\u003e\u003ccode\u003e5b69b4f\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.2.1...v10.3.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.5.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.0.2 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.37 to 0.0.47\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor v0.0.38\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eGitHub Action improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoffline\u003c/code\u003e input\u003c/strong\u003e — skip API calls in restricted environments (\u003ccode\u003eoffline: \u0026quot;true\u0026quot;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e + \u003ccode\u003eoffline\u003c/code\u003e\u003c/strong\u003e documented in README inputs table\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFix diff mode\u003c/strong\u003e on detached HEAD in pull_request events\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStrip ANSI\u003c/strong\u003e escape codes from PR comments (\u003ccode\u003eNO_COLOR=1\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdate PR comments\u003c/strong\u003e instead of delete+recreate (no more double notifications)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eClickable file paths\u003c/strong\u003e — output now uses \u003ccode\u003efile:line\u003c/code\u003e format, clickable in VS Code and other terminals\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebsite\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFix hydration mismatch\u003c/strong\u003e in terminal demo component\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAll config options documented\u003c/strong\u003e — added \u003ccode\u003efailOn\u003c/code\u003e, \u003ccode\u003ecustomRulesOnly\u003c/code\u003e, \u003ccode\u003eshare\u003c/code\u003e, \u003ccode\u003etextComponents\u003c/code\u003e to README\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/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.47\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e6a0e6d6: chore(react-doctor): bump oxlint to ^1.62.0\u003c/p\u003e\n\u003cp\u003ePulls in oxlint v1.61.0 + v1.62.0 improvements (additional Vue rules,\njest/vitest rule splits, autofix for prefer-template, no-unknown-property\nsupport for React 19's precedence prop, jsx-a11y/anchor-is-valid attribute\nsettings, and various correctness fixes). The release-line breaking\nchanges are internal Rust API only — oxlint's CLI and config schema\nare unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edbf200d: fix(react-doctor): filter React Compiler rules to those the loaded \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e actually exports\u003c/p\u003e\n\u003cp\u003eFollow-up to the \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/141\"\u003e#141\u003c/a\u003e fix in 0.0.46. The peer range \u003ccode\u003e^6 || ^7\u003c/code\u003e allows\nv6.x of \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e, which doesn't expose the\n\u003ccode\u003evoid-use-memo\u003c/code\u003e rule (added in v7). When a v6 user had React\nCompiler detected, oxlint failed with\n\u003ccode\u003eRule 'void-use-memo' not found in plugin 'react-hooks-js'\u003c/code\u003e. The\nconfig now introspects the loaded plugin's \u003ccode\u003erules\u003c/code\u003e map and only\nenables \u003ccode\u003ereact-hooks-js/*\u003c/code\u003e entries that the installed version\nactually exports — so future rule additions or removals can no\nlonger crash a scan.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.46\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ec13a8df: fix(react-doctor): skip React Compiler rules when \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e isn't installed\u003c/p\u003e\n\u003cp\u003eWhen a project had React Compiler detected but the optional peer\n\u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e was not installed, oxlint failed with\n\u003ccode\u003ereact-hooks-js not found\u003c/code\u003e because the React Compiler rules were\nemitted into the config without the corresponding plugin entry.\nGate \u003ccode\u003eREACT_COMPILER_RULES\u003c/code\u003e on successful plugin resolution so a\nmissing optional peer silently skips them instead of crashing the\nscan (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/141\"\u003e#141\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.45\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6b07924: \u003ccode\u003ereact-doctor install\u003c/code\u003e now delegates skill installation to\n\u003ca href=\"https://www.npmjs.com/package/agent-install\"\u003e\u003ccode\u003eagent-install\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.0.4\u003c/code\u003e,\nwhich natively models \u003cstrong\u003e54 supported coding agents\u003c/strong\u003e (up from the 8 we\npreviously hand-rolled).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` from 4.2.3 to 4.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/tailwindcss\"\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.59.0 to 8.59.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.59.1\u003c/h2\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\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-assertion] fix crash \u0026quot;TypeError: checker.getTypeArguments is not a function\u0026quot; (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246\"\u003e#12246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve index signatures in undefined unions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257\"\u003e#12257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269\"\u003e#12269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278\"\u003e#12278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-arguments] handle instantiation expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220\"\u003e#12220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241\"\u003e#12241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eanasm266 \u003ca href=\"https://github.com/anasm266\"\u003e\u003ccode\u003e@​anasm266\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnshika Jain \u003ca href=\"https://github.com/Anshikakalpana\"\u003e\u003ccode\u003e@​Anshikakalpana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUlrich Stark\u003c/li\u003e\n\u003cli\u003eyugo innami \u003ca href=\"https://github.com/nami8824\"\u003e\u003ccode\u003e@​nami8824\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.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.59.1 (2026-04-27)\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.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.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 `vite` from 8.0.9 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.10/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.9...v8.0.10\"\u003e8.0.10\u003c/a\u003e (2026-04-23)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0-rc.17 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22299\"\u003e#22299\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a4d06d9015167d30fe8ac63d1ce2edc146cdca31\"\u003ea4d06d9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ehmrClient.logger.debug\u003c/code\u003e and \u003ccode\u003ehmrClient.logger.error\u003c/code\u003e looked different from other HMR logs (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22147\"\u003e#22147\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a4d828f2d5ed85440bc0774eab342e6f9a5e5f62\"\u003ea4d828f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e show filename in CSS minification warnings for \u003ccode\u003e.css?inline\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22292\"\u003e#22292\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/83f0a785a2ae48d6761fb69f4b0523a24ae9342c\"\u003e83f0a78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e allow user transform.target to override default in optimizeDeps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22273\"\u003e#22273\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5c7cec69b637544ab16009d8758df7dbbf7f2674\"\u003e5c7cec6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove format sniffing module resolution from JS resolver (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22297\"\u003e#22297\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b8a21cc821c1434ac9d2b85ec53005df9edc306b\"\u003eb8a21cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenable some typecheck rules (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22278\"\u003e#22278\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/943751801f70057ae94f9092e349c8f3fd9ccdf2\"\u003e9437518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etypecheck client directory (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22284\"\u003e#22284\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/40a0847276502b33a3942b3cfab04b20218f3543\"\u003e40a0847\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/32c29780404c353f5a7c5ba4d06fc5e676741714\"\u003e\u003ccode\u003e32c2978\u003c/code\u003e\u003c/a\u003e release: v8.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/a4d06d9015167d30fe8ac63d1ce2edc146cdca31\"\u003e\u003ccode\u003ea4d06d9\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.0-rc.17 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22299\"\u003e#22299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/a4d828f2d5ed85440bc0774eab342e6f9a5e5f62\"\u003e\u003ccode\u003ea4d828f\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003ehmrClient.logger.debug\u003c/code\u003e and \u003ccode\u003ehmrClient.logger.error\u003c/code\u003e looked different f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/83f0a785a2ae48d6761fb69f4b0523a24ae9342c\"\u003e\u003ccode\u003e83f0a78\u003c/code\u003e\u003c/a\u003e fix(css): show filename in CSS minification warnings for \u003ccode\u003e.css?inline\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22292\"\u003e#22292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b8a21cc821c1434ac9d2b85ec53005df9edc306b\"\u003e\u003ccode\u003eb8a21cc\u003c/code\u003e\u003c/a\u003e fix: remove format sniffing module resolution from JS resolver (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22297\"\u003e#22297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/40a0847276502b33a3942b3cfab04b20218f3543\"\u003e\u003ccode\u003e40a0847\u003c/code\u003e\u003c/a\u003e refactor: typecheck client directory (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22284\"\u003e#22284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5c7cec69b637544ab16009d8758df7dbbf7f2674\"\u003e\u003ccode\u003e5c7cec6\u003c/code\u003e\u003c/a\u003e fix(optimizer): allow user transform.target to override default in optimizeDe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/943751801f70057ae94f9092e349c8f3fd9ccdf2\"\u003e\u003ccode\u003e9437518\u003c/code\u003e\u003c/a\u003e refactor: enable some typecheck rules (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22278\"\u003e#22278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.10/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.4 to 4.1.5\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\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\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/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  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/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\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/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  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/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\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/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7e86d6e2bf581f074dc216805d10d371\"\u003e\u003ccode\u003e0e0ff41\u003c/code\u003e\u003c/a\u003e feat(coverage): istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3e6a60fc8a7ccd2d9941d1cbe929b606\"\u003e\u003ccode\u003e663b99f\u003c/code\u003e\u003c/a\u003e fix: alias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10157\"\u003e#10157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b157ffd31b376561b16ab983aa23e7bc\"\u003e\u003ccode\u003e122c25b\u003c/code\u003e\u003c/a\u003e fix: fix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10163\"\u003e#10163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7219156893dd13a1dbe86501d5542d2e\"\u003e\u003ccode\u003e6abd557\u003c/code\u003e\u003c/a\u003e feat(api): make test-specification options writable (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10154\"\u003e#10154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986abe2161a9a06f0ca03df68e82690b21\"\u003e\u003ccode\u003e596f739\u003c/code\u003e\u003c/a\u003e fix: project color label on html reporter (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10142\"\u003e#10142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc0841e97b6dcac8a73cdb8e656b3d6ba909\"\u003e\u003ccode\u003e9423dc0\u003c/code\u003e\u003c/a\u003e fix: --project negation excludes browser instances (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10131\"\u003e#10131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest\"\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/merlijntishauser/unifi-homelab-ops/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/merlijntishauser%2Funifi-homelab-ops/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"},{"uuid":"4231517227","node_id":"PR_kwDORwhjPc7RGULU","number":15,"state":"open","title":"deps: bump the minor-and-patch group with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-09T10:43:45.000Z","updated_at":"2026-04-09T10:44:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"minor-and-patch","update_count":7,"packages":[{"name":"@tanstack/react-query","old_version":"5.96.2","new_version":"5.97.0","repository_url":"https://github.com/TanStack/query"},{"name":"better-auth","old_version":"1.6.0","new_version":"1.6.1","repository_url":"https://github.com/better-auth/better-auth"},{"name":"lucide-react","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"react","old_version":"19.2.4","new_version":"19.2.5","repository_url":"https://github.com/facebook/react"},{"name":"oxfmt","old_version":"0.42.0","new_version":"0.44.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"react-doctor","old_version":"0.0.30","new_version":"0.0.31","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"vite","old_version":"8.0.7","new_version":"8.0.8","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.96.2` | `5.97.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.0` | `1.6.1` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.7.0` | `1.8.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.5` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.42.0` | `0.44.0` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.30` | `0.0.31` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.7` | `8.0.8` |\n\nUpdates `@tanstack/react-query` from 5.96.2 to 5.97.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/2bfb12cc44f1d8495106136e4ddacb817135f8f9\"\u003e\u003ccode\u003e2bfb12c\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.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/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/2bfb12cc44f1d8495106136e4ddacb817135f8f9\"\u003e\u003ccode\u003e2bfb12c\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.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/TanStack/query/commit/125067c05adf6a8bfef14a34aa5b963bc885885d\"\u003e\u003ccode\u003e125067c\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10436\"\u003e#10436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f6991900dcd50367a3580d27f69ddfb6bd3a34f3\"\u003e\u003ccode\u003ef699190\u003c/code\u003e\u003c/a\u003e test(react-query): replace hardcoded query keys with 'queryKey()' utility (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f3d3eea76b5f085650a62494ab72f351d70a0d6c\"\u003e\u003ccode\u003ef3d3eea\u003c/code\u003e\u003c/a\u003e test(*): replace deprecated 'toMatchTypeOf' with 'toExtend' (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10413\"\u003e#10413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3d6e001baeeef4e7c524f39cc009544aa05c2b08\"\u003e\u003ccode\u003e3d6e001\u003c/code\u003e\u003c/a\u003e test(react-query/useSuspenseQueries): replace 'async/await sleep' with 'sleep...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/7d7a21c49c1c0d12e12a7da7ab00fa65df05650b\"\u003e\u003ccode\u003e7d7a21c\u003c/code\u003e\u003c/a\u003e test(react-query): replace 'async/await sleep' with 'sleep().then()' in test ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.97.0/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.0 to 1.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eInstall: \u003ccode\u003enpm i better-auth@latest\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eendpoint instrumentation to always use route template (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e) by \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erestore getSession accessibility in generic Auth\u003c!-- raw HTML omitted --\u003e context (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9017\"\u003e#9017\u003c/a\u003e) by \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate endpoint instrumentation to always use endpoint routes\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e) by \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.0...v1.6.1\"\u003e\u003ccode\u003ev1.6.0...v1.6.1\u003c/code\u003e\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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9017\"\u003e#9017\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - restore getSession accessibility in generic Auth\u003c!-- raw HTML omitted --\u003e context\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\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/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.1/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lucide-react` from 1.7.0 to 1.8.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\"\u003elucide-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs(packages/angular): add packageDirname for \u003ccode\u003e@​lucide/angular\u003c/code\u003e by \u003ca href=\"https://github.com/rhutchison\"\u003e\u003ccode\u003e@​rhutchison\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4211\"\u003elucide-icons/lucide#4211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(icons): Username change knarlix to RajnishKMehta by \u003ca href=\"https://github.com/RajnishKMehta\"\u003e\u003ccode\u003e@​RajnishKMehta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4208\"\u003elucide-icons/lucide#4208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(\u003ccode\u003e@​lucide/angular\u003c/code\u003e): Fix publishing problem 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/4213\"\u003elucide-icons/lucide#4213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix broken links in pull_request_template.md (got 404 page) by \u003ca href=\"https://github.com/whoisBugsbunny\"\u003e\u003ccode\u003e@​whoisBugsbunny\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4224\"\u003elucide-icons/lucide#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lucide-static): add viewBox to sprite symbol elements by \u003ca href=\"https://github.com/TomaTV\"\u003e\u003ccode\u003e@​TomaTV\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4223\"\u003elucide-icons/lucide#4223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Fix link to icon design principles in statement by \u003ca href=\"https://github.com/whoisBugsbunny\"\u003e\u003ccode\u003e@​whoisBugsbunny\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4225\"\u003elucide-icons/lucide#4225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): add Zephyr Cloud to Hero Backers tier 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/4226\"\u003elucide-icons/lucide#4226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): fixes gap issues in radio-off.svg 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/4227\"\u003elucide-icons/lucide#4227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): renamed \u003ccode\u003etext-select\u003c/code\u003e to \u003ccode\u003esquare-dashed-text\u003c/code\u003e by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3943\"\u003elucide-icons/lucide#3943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(docs): improve mobile layout of v1 banner 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/4254\"\u003elucide-icons/lucide#4254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(\u003ccode\u003e@​lucide/svelte\u003c/code\u003e): aria-hidden=\u0026quot;true\u0026quot; was never set by \u003ca href=\"https://github.com/blt-r\"\u003e\u003ccode\u003e@​blt-r\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4234\"\u003elucide-icons/lucide#4234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): remove ui/ux tag from heart-minus, add delete instead 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/4266\"\u003elucide-icons/lucide#4266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump vite from 7.3.1 to 7.3.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/lucide-icons/lucide/pull/4276\"\u003elucide-icons/lucide#4276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump lodash-es from 4.17.23 to 4.18.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/4251\"\u003elucide-icons/lucide#4251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump vite from 5.4.21 to 6.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4286\"\u003elucide-icons/lucide#4286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): use \u003ccode\u003einitOnMounted: true\u003c/code\u003e for \u003ccode\u003euseSessionStorage\u003c/code\u003e in \u003ccode\u003eCarbonAdOverlay\u003c/code\u003e 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/4275\"\u003elucide-icons/lucide#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ebookmark-off\u003c/code\u003e icon by \u003ca href=\"https://github.com/ZeenatLawal\"\u003e\u003ccode\u003e@​ZeenatLawal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4283\"\u003elucide-icons/lucide#4283\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/rhutchison\"\u003e\u003ccode\u003e@​rhutchison\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4211\"\u003elucide-icons/lucide#4211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whoisBugsbunny\"\u003e\u003ccode\u003e@​whoisBugsbunny\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4224\"\u003elucide-icons/lucide#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TomaTV\"\u003e\u003ccode\u003e@​TomaTV\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4223\"\u003elucide-icons/lucide#4223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/blt-r\"\u003e\u003ccode\u003e@​blt-r\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4234\"\u003elucide-icons/lucide#4234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ZeenatLawal\"\u003e\u003ccode\u003e@​ZeenatLawal\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4283\"\u003elucide-icons/lucide#4283\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.7.0...1.8.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.7.0...1.8.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/lucide-icons/lucide/commit/7623e23f787fe78e5075a613fd22da2cecbb9b1b\"\u003e\u003ccode\u003e7623e23\u003c/code\u003e\u003c/a\u003e feat(docs): add Zephyr Cloud to Hero Backers tier \u0026amp; rework updateSponsors scr...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.8.0/packages/lucide-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react` from 19.2.4 to 19.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003ereact's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.2.5 (April 8th, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd more cycle protections (\u003ca href=\"https://redirect.github.com/facebook/react/pull/36236\"\u003e#36236\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\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/facebook/react/commit/23f4f9f30da9e9af2108c18bb197bae75ab584ea\"\u003e\u003ccode\u003e23f4f9f\u003c/code\u003e\u003c/a\u003e 19.2.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.5/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxfmt` from 0.42.0 to 0.44.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md\"\u003eoxfmt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.44.0] - 2026-04-06\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edd2df87 npm: Export package.json for oxlint and oxfmt (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20784\"\u003e#20784\u003c/a\u003e) (kazuya kawaguchi)\u003c/li\u003e\n\u003cli\u003e4216380 oxfmt: Support \u003ccode\u003e.editorconfig\u003c/code\u003e \u003ccode\u003etab_width\u003c/code\u003e fallback (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20988\"\u003e#20988\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.43.0] - 2026-03-30\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6ef440a oxfmt: Support bool for object style options (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20853\"\u003e#20853\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/oxc/commit/a69e7073443ebd23fa5b2bcc76f37d586bd140a2\"\u003e\u003ccode\u003ea69e707\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.59.0 \u0026amp;\u0026amp; oxfmt v0.44.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/21085\"\u003e#21085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/dd2df87d9e5565b44a9335a2e6fa5e727175756b\"\u003e\u003ccode\u003edd2df87\u003c/code\u003e\u003c/a\u003e fix(npm): export package.json for oxlint and oxfmt (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20784\"\u003e#20784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/4216380bc0f0701f69209b3c47271b0a7770145e\"\u003e\u003ccode\u003e4216380\u003c/code\u003e\u003c/a\u003e fix(oxfmt): Support \u003ccode\u003e.editorconfig\u003c/code\u003e \u003ccode\u003etab_width\u003c/code\u003e fallback (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20988\"\u003e#20988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/0384f4b22531a386ed5d080eeac634bc99b6f57b\"\u003e\u003ccode\u003e0384f4b\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.58.0 \u0026amp;\u0026amp; oxfmt v0.43.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20867\"\u003e#20867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/6ef440af18726035a266fe595857c7a6fc6a7319\"\u003e\u003ccode\u003e6ef440a\u003c/code\u003e\u003c/a\u003e feat(oxfmt): Support bool for object style options (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20853\"\u003e#20853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oxc-project/oxc/commits/oxfmt_v0.44.0/npm/oxfmt\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.30 to 0.0.31\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.31\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.0.7 to 8.0.8\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.0.8\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.7...v8.0.8\"\u003e8.0.8\u003c/a\u003e (2026-04-09)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0-rc.15 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22201\"\u003e#22201\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"\u003e6baf587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid \u003ccode\u003edns.getDefaultResultOrder\u003c/code\u003e temporary (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22202\"\u003e#22202\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"\u003e15f1c15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e class property keys hoisting matching imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22199\"\u003e#22199\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"\u003ee137601\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/6e585dcb05a3b159fba7ae57f7faf0b1eca7a390\"\u003e\u003ccode\u003e6e585dc\u003c/code\u003e\u003c/a\u003e release: v8.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"\u003e\u003ccode\u003ee137601\u003c/code\u003e\u003c/a\u003e fix(ssr): class property keys hoisting matching imports (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22199\"\u003e#22199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"\u003e\u003ccode\u003e15f1c15\u003c/code\u003e\u003c/a\u003e fix: avoid \u003ccode\u003edns.getDefaultResultOrder\u003c/code\u003e temporary (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22202\"\u003e#22202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"\u003e\u003ccode\u003e6baf587\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.0-rc.15 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22201\"\u003e#22201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.8/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/rjoydip/tss-elysia/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjoydip%2Ftss-elysia/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"4220727698","node_id":"PR_kwDOJtNIAM7QoN-k","number":23,"state":"closed","title":"chore(deps-dev): bump the development-dependencies group with 19 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-14T21:38:05.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-07T21:39:53.000Z","updated_at":"2026-04-14T21:38:06.000Z","time_to_close":604692,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":19,"packages":[{"name":"@happy-dom/global-registrator","old_version":"20.7.0","new_version":"20.8.9","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"@ianvs/prettier-plugin-sort-imports","old_version":"4.7.0","new_version":"4.7.1","repository_url":"https://github.com/ianvs/prettier-plugin-sort-imports"},{"name":"@playwright/test","old_version":"1.58.1","new_version":"1.59.1","repository_url":"https://github.com/microsoft/playwright"},{"name":"@prisma/client","old_version":"7.3.0","new_version":"7.7.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@types/node","old_version":"25.2.0","new_version":"25.5.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react","old_version":"19.2.10","new_version":"19.2.14","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"eslint","old_version":"9.39.2","new_version":"10.2.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-next","old_version":"16.1.6","new_version":"16.2.2","repository_url":"https://github.com/vercel/next.js"},{"name":"jest","old_version":"30.2.0","new_version":"30.3.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.2.0","new_version":"30.3.0","repository_url":"https://github.com/jestjs/jest"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.4.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"prisma","old_version":"7.3.0","new_version":"7.7.0","repository_url":"https://github.com/prisma/prisma"},{"name":"react-doctor","old_version":"0.0.28","new_version":"0.0.31","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 19 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@happy-dom/global-registrator](https://github.com/capricorn86/happy-dom) | `20.7.0` | `20.8.9` |\n| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | `4.7.0` | `4.7.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.1` | `1.59.1` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.3.0` | `7.7.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.0` | `25.5.2` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.10` | `19.2.14` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.58.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.58.0` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.2.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.3.0` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.3.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.4.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.3.0` | `7.7.0` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.28` | `0.0.31` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.19` | `4.2.2` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.2` |\n\nUpdates `@happy-dom/global-registrator` from 20.7.0 to 20.8.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/capricorn86/happy-dom/releases\"\u003e\u003ccode\u003e@​happy-dom/global-registrator\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.8.9\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issue where cookies from the current origin was being forwarded to the target origin in fetch requests - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2117\"\u003e#2117\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eA security advisory (\u003ca href=\"https://github.com/capricorn86/happy-dom/security/advisories/GHSA-w4gp-fjgq-3q4g\"\u003eGHSA-w4gp-fjgq-3q4g\u003c/a\u003e) was reported for this security vulnerability. Big thanks to \u003ca href=\"https://github.com/r74tech\"\u003e\u003ccode\u003e@​r74tech\u003c/code\u003e\u003c/a\u003e for reporting this!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.8\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issue where export names can be interpolated as executable code in ESM - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2113\"\u003e#2113\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eA security advisory (\u003ca href=\"https://github.com/capricorn86/happy-dom/security/advisories/GHSA-6q6h-j7hj-3r64\"\u003eGHSA-6q6h-j7hj-3r64\u003c/a\u003e) has been reported that shows a security vulnerability where it may be possible to escape the VM context and get access to process level functionality in unsafe environments using CommonJS. Big thanks to \u003ca href=\"https://github.com/tndud042713\"\u003e\u003ccode\u003e@​tndud042713\u003c/code\u003e\u003c/a\u003e for reporting this!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.7\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace implementing Node.js \u003ccode\u003eConsole\u003c/code\u003e with common \u003ccode\u003eIConsole\u003c/code\u003e interface to support latest version of Bun - By \u003cstrong\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.6\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRequest.formData()\u003c/code\u003e should honor \u0026quot;Content-Type\u0026quot; header - By \u003cstrong\u003e\u003ca href=\"https://github.com/brianhelba\"\u003e\u003ccode\u003e@​brianhelba\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2106\"\u003e#2106\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.5\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes error thrown when modifying DOM structure in \u003ccode\u003econnectedCallback()\u003c/code\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2110\"\u003e#2110\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.4\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace ConsoleConstructor import with indexed access type - By \u003cstrong\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.3\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThrow error if event is not of type \u003ccode\u003eEvent\u003c/code\u003e in \u003ccode\u003eEventTarget.dispatchEvent()\u003c/code\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2054\"\u003e#2054\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.2\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResets \u003ccode\u003eEvent.cancelBubble\u003c/code\u003e and \u003ccode\u003eEvent.defaultPrevented\u003c/code\u003e when calling \u003ccode\u003eEvent.initEvent()\u003c/code\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2090\"\u003e#2090\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.1\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u0026quot;inert\u0026quot; attribute block focus interactions - By \u003cstrong\u003e\u003ca href=\"https://github.com/coffeeandwork\"\u003e\u003ccode\u003e@​coffeeandwork\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1422\"\u003e#1422\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.0\u003c/h2\u003e\n\u003ch3\u003e:art: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for setPointerCapture, hasPointerCapture, and releasePointerCapture to Element - By \u003cstrong\u003e\u003ca href=\"https://github.com/coffeeandwork\"\u003e\u003ccode\u003e@​coffeeandwork\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1733\"\u003e#1733\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.7.2\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly decode CSS escape sequences in attribute selector values - By \u003cstrong\u003e\u003ca href=\"https://github.com/silverwind\"\u003e\u003ccode\u003e@​silverwind\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.7.1\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issue related to parsing direct descendants (\u003ccode\u003e\u0026gt;\u003c/code\u003e) and universal (\u003ccode\u003e*\u003c/code\u003e) query selectors - By \u003cstrong\u003e\u003ca href=\"https://github.com/Cherry\"\u003e\u003ccode\u003e@​Cherry\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2078\"\u003e#2078\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/capricorn86/happy-dom/commit/68324c21d7b98f53f7bb5a7b3e185bda7106e751\"\u003e\u003ccode\u003e68324c2\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2117\"\u003e#2117\u003c/a\u003e Fixes issue related to cookies from the current origin being for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/5437fdf8f13adb9590f9f52616d9f69c3ee8db3c\"\u003e\u003ccode\u003e5437fdf\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2113\"\u003e#2113\u003c/a\u003e Fixes issue where export names can be interpolated as executable...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/7e97acbc0de9e9e8515b828bb1bb60f6c65eae44\"\u003e\u003ccode\u003e7e97acb\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e Replace implementing Node js Console with common IConsole interf...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/3373929819a55988218a32c06816c5754828f59d\"\u003e\u003ccode\u003e3373929\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2106\"\u003e#2106\u003c/a\u003e \u003ccode\u003eRequest.formData()\u003c/code\u003e should honor \u003ccode\u003eContent-Type\u003c/code\u003e header (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/55c17ba6d2883ce54010b041be165db8f6c5c974\"\u003e\u003ccode\u003e55c17ba\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2110\"\u003e#2110\u003c/a\u003e Fixes error thrown when modifying DOM structure in connectedCall...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/82a0888cb2c87a6123e05424b528f8e8c9b3e426\"\u003e\u003ccode\u003e82a0888\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e Replace ConsoleConstructor import with indexed access type (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2095\"\u003e#2095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/5998eeaea5455cda9556675c6b92bea7ec85642b\"\u003e\u003ccode\u003e5998eea\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2054\"\u003e#2054\u003c/a\u003e Throw error if event is not of type Event in dispatchEvent (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/7a11238eace2fab69eb6bff13c2eeb0b7f7caa40\"\u003e\u003ccode\u003e7a11238\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2090\"\u003e#2090\u003c/a\u003e Resets cancelBubble and defaultPrevented when calling initEvent ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/7d27984affe0dcfc2827d1568fa6b950905a8482\"\u003e\u003ccode\u003e7d27984\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1422\"\u003e#1422\u003c/a\u003e Make inert attribute block focus interactions (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2083\"\u003e#2083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/53e4ec974a8c8f66db7cd55c9553e7e8281185bf\"\u003e\u003ccode\u003e53e4ec9\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1733\"\u003e#1733\u003c/a\u003e Adds support for setPointerCapture, hasPointerCapture, and rele...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/capricorn86/happy-dom/compare/v20.7.0...v20.8.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ianvs/prettier-plugin-sort-imports` from 4.7.0 to 4.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ianvs/prettier-plugin-sort-imports/releases\"\u003e\u003ccode\u003e@​ianvs/prettier-plugin-sort-imports\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Vue preprocessor: Support variations in block syntax by \u003ca href=\"https://github.com/ccondrup\"\u003e\u003ccode\u003e@​ccondrup\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/247\"\u003eIanVS/prettier-plugin-sort-imports#247\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(plugin-oxc): support v0.1.x by \u003ca href=\"https://github.com/CHC383\"\u003e\u003ccode\u003e@​CHC383\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/249\"\u003eIanVS/prettier-plugin-sort-imports#249\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd note for how to specify subpath import regex to README by \u003ca href=\"https://github.com/jasikpark\"\u003e\u003ccode\u003e@​jasikpark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/243\"\u003eIanVS/prettier-plugin-sort-imports#243\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/jasikpark\"\u003e\u003ccode\u003e@​jasikpark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/243\"\u003eIanVS/prettier-plugin-sort-imports#243\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ccondrup\"\u003e\u003ccode\u003e@​ccondrup\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/247\"\u003eIanVS/prettier-plugin-sort-imports#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CHC383\"\u003e\u003ccode\u003e@​CHC383\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/249\"\u003eIanVS/prettier-plugin-sort-imports#249\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.7.0...v4.7.1\"\u003ehttps://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.7.0...v4.7.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/IanVS/prettier-plugin-sort-imports/commit/26bc50bd2f9846898fa3f8f4bac82cc1f55d7480\"\u003e\u003ccode\u003e26bc50b\u003c/code\u003e\u003c/a\u003e 4.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/commit/55a8ac2d1eb71fee70478971ada525d21225253f\"\u003e\u003ccode\u003e55a8ac2\u003c/code\u003e\u003c/a\u003e feat(plugin-oxc): support v0.1.x (\u003ca href=\"https://redirect.github.com/ianvs/prettier-plugin-sort-imports/issues/249\"\u003e#249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/commit/0f3a062393e54b0e5db27e9b589cc46f991bd467\"\u003e\u003ccode\u003e0f3a062\u003c/code\u003e\u003c/a\u003e Fix: Vue preprocessor: Support variations in block syntax (\u003ca href=\"https://redirect.github.com/ianvs/prettier-plugin-sort-imports/issues/247\"\u003e#247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/commit/89894c12f0a5645ee03799faac1a5776c89846df\"\u003e\u003ccode\u003e89894c1\u003c/code\u003e\u003c/a\u003e Add note for how to specify subpath import regex to README (\u003ca href=\"https://redirect.github.com/ianvs/prettier-plugin-sort-imports/issues/243\"\u003e#243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.7.0...v4.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.1 to 1.59.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e\u003ccode\u003e@​playwright/test\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.59.1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Windows]\u003c/strong\u003e Reverted hiding console window when spawning browser processes, which caused regressions including broken \u003ccode\u003ecodegen\u003c/code\u003e, \u003ccode\u003e--ui\u003c/code\u003e and \u003ccode\u003eshow\u003c/code\u003e commands (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39990\"\u003e#39990\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.59.0\u003c/h2\u003e\n\u003ch2\u003e🎬 Screencast\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-page#page-screencast\"\u003epage.screencast\u003c/a\u003e API provides a unified interface for capturing page content with:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eScreencast recordings\u003c/li\u003e\n\u003cli\u003eAction annotations\u003c/li\u003e\n\u003cli\u003eVisual overlays\u003c/li\u003e\n\u003cli\u003eReal-time frame capture\u003c/li\u003e\n\u003cli\u003eAgentic video receipts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eScreencast recording\u003c/strong\u003e — record video with precise start/stop control, as an alternative to the \u003ca href=\"https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video\"\u003e\u003ccode\u003erecordVideo\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.start({ path: 'video.webm' });\r\n// ... perform actions ...\r\nawait page.screencast.stop();\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAction annotations\u003c/strong\u003e — enable built-in visual annotations that highlight interacted elements and display action titles during recording:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.showActions({ position: 'top-right' });\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-screencast#screencast-show-actions\"\u003escreencast.showActions()\u003c/a\u003e accepts \u003ccode\u003eposition\u003c/code\u003e (\u003ccode\u003e'top-left'\u003c/code\u003e, \u003ccode\u003e'top'\u003c/code\u003e, \u003ccode\u003e'top-right'\u003c/code\u003e, \u003ccode\u003e'bottom-left'\u003c/code\u003e, \u003ccode\u003e'bottom'\u003c/code\u003e, \u003ccode\u003e'bottom-right'\u003c/code\u003e), \u003ccode\u003eduration\u003c/code\u003e (ms per annotation), and \u003ccode\u003efontSize\u003c/code\u003e (px). Returns a disposable to stop showing actions.\u003c/p\u003e\n\u003cp\u003eAction annotations can also be enabled in test fixtures via the \u003ccode\u003evideo\u003c/code\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// playwright.config.ts\r\nexport default defineConfig({\r\n  use: {\r\n    video: {\r\n      mode: 'on',\r\n      show: {\r\n        actions: { position: 'top-left' },\r\n        test: { position: 'top-right' },\r\n      },\r\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/microsoft/playwright/commit/d466ac5358cae058cdc75d2ae3ab3ad220042730\"\u003e\u003ccode\u003ed466ac5\u003c/code\u003e\u003c/a\u003e chore: mark v1.59.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40005\"\u003e#40005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/530e7e5f0021730948605a5788790d353d9cf444\"\u003e\u003ccode\u003e530e7e5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/4004\"\u003e#4004\u003c/a\u003e): fix(cli): kill-all should kill dashboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9aa216c8d7f866e8a8fa94ca55d86e81a8f4decb\"\u003e\u003ccode\u003e9aa216c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39994\"\u003e#39994\u003c/a\u003e): Revert \u0026quot;fix(windows): hide console window when spawning ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/01b2b1533e0bfa1c582117e3ec109fcb57657747\"\u003e\u003ccode\u003e01b2b15\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39980\"\u003e#39980\u003c/a\u003e): chore: more release notes fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/a5cb6c9a2f52078de075413beb812e3180d195ba\"\u003e\u003ccode\u003ea5cb6c9\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39972\"\u003e#39972\u003c/a\u003e): chore: expose browser.bind and browser.unbind APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/99a17b58541798b03257c57a9e5589db2394f89e\"\u003e\u003ccode\u003e99a17b5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39975\"\u003e#39975\u003c/a\u003e): chore: support opening .trace files via .link indirection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/43607c3b71d89445a6473708429eeecd6f571d6e\"\u003e\u003ccode\u003e43607c3\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39974\"\u003e#39974\u003c/a\u003e): chore(webkit): update Safari user-agent version to 26.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/62cabe19eb07e329086e5cb20441737cf51367d0\"\u003e\u003ccode\u003e62cabe1\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39969\"\u003e#39969\u003c/a\u003e): chore(npm): include all *.md from lib (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39970\"\u003e#39970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/0c65a759af337ba5143ebbe34afe4141482ce2d4\"\u003e\u003ccode\u003e0c65a75\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39968\"\u003e#39968\u003c/a\u003e): chore: screencast.showActions api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f04155b09034c21719162146d6016de9933a2dbe\"\u003e\u003ccode\u003ef04155b\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39958\"\u003e#39958\u003c/a\u003e): chore: release notes for langs v1.59\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.1...v1.59.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.3.0 to 7.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e\u003ccode\u003e@​prisma/client\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.7.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.7.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003eprisma bootstrap\u003c/code\u003e command\u003c/h3\u003e\n\u003cp\u003eA new \u003ccode\u003eprisma bootstrap\u003c/code\u003e command (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29374\"\u003e#29374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29424\"\u003e#29424\u003c/a\u003e) sequences the full \u003ca href=\"https://prisma.io/postgres\"\u003ePrisma Postgres\u003c/a\u003e setup into a single interactive flow. It detects the current project state and runs only the steps that are needed:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eInit or scaffold\u003c/strong\u003e — In an empty directory, offers a choice of 10 starter templates (Next.js, Express, Hono, Fastify, Nuxt, SvelteKit, Remix, React Router 7, Astro, NestJS) from \u003ca href=\"https://github.com/prisma/prisma-examples\"\u003eprisma-examples\u003c/a\u003e. In an existing project without a schema, runs \u003ccode\u003eprisma init\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLink\u003c/strong\u003e — Authenticates via the browser and connects to a Prisma Postgres database. Skips if already linked.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall dependencies\u003c/strong\u003e — Detects the package manager and offers to install missing \u003ccode\u003e@prisma/client\u003c/code\u003e, \u003ccode\u003eprisma\u003c/code\u003e, and \u003ccode\u003edotenv\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMigrate\u003c/strong\u003e — Runs \u003ccode\u003eprisma migrate dev\u003c/code\u003e if the schema contains models.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGenerate\u003c/strong\u003e — Runs \u003ccode\u003eprisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSeed\u003c/strong\u003e — Runs \u003ccode\u003eprisma db seed\u003c/code\u003e if a seed script is configured.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eEach side-effecting step prompts for confirmation. Re-running the command skips already-completed steps.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBasic usage\u003c/strong\u003e\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest bootstrap\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eWith a starter template\u003c/strong\u003e\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest bootstrap --template nextjs\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eNon-interactive (CI)\u003c/strong\u003e\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest bootstrap --api-key \u0026quot;$PRISMA_API_KEY\u0026quot; --database \u0026quot;db_abc123\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eOpen roles at Prisma\u003c/h2\u003e\n\u003cp\u003eInterested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our \u003ca href=\"https://www.prisma.io/careers#current\"\u003eCareers page\u003c/a\u003e and find the role that's right for you.\u003c/p\u003e\n\u003ch2\u003eEnterprise support\u003c/h2\u003e\n\u003cp\u003eThousands of teams use Prisma and many of them already tap into our Enterprise \u0026amp; Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.\u003c/p\u003e\n\u003cp\u003eWith this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: \u003ca href=\"https://prisma.io/enterprise\"\u003ehttps://prisma.io/enterprise\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/6a3c3ccf9cc2db7f27bbbf6df9f050fc112dc66e\"\u003e\u003ccode\u003e6a3c3cc\u003c/code\u003e\u003c/a\u003e chore: extract parameterization to client-engine-runtime (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/5b420f897bf7f98b1b826f55ebae334114d70eb7\"\u003e\u003ccode\u003e5b420f8\u003c/code\u003e\u003c/a\u003e fix(client): prevent caching of createMany queries to avoid cache bloat and p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/30f0af635578207b29d8409d7d0cbcdcea264a07\"\u003e\u003ccode\u003e30f0af6\u003c/code\u003e\u003c/a\u003e feat: dmmf streaming with an E2E test (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29377\"\u003e#29377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/14c3c2eb02173048d5ac3a908598a8d7f2244598\"\u003e\u003ccode\u003e14c3c2e\u003c/code\u003e\u003c/a\u003e fix: pin E2E typescript to prevent 6 upgrade (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29383\"\u003e#29383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/ecae3b65bbed748445c6230de583c51bb921e7df\"\u003e\u003ccode\u003eecae3b6\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.6.0-1.75cbdc1eb7150937890ad5465d861175c66247...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/309b4bccd632d8b40246eab131f3ada578fb4c23\"\u003e\u003ccode\u003e309b4bc\u003c/code\u003e\u003c/a\u003e refactor: extract 'prisma-client-js' into PRISMA_CLIENT_JS_PROVIDER constant ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/ccce14832f60ec24727a76dce25d661b46e94454\"\u003e\u003ccode\u003eccce148\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.5.0-15.280c870be64f457428992c43c1f6d557fab6e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/de1c376e2746019b1cff3c58ac168142fe9d1569\"\u003e\u003ccode\u003ede1c376\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.5.0-14.d684c195f0a8bfb0ba8ca628416376df0625b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/ea93809a44f89847699a3f72d7b289339f7a0bdc\"\u003e\u003ccode\u003eea93809\u003c/code\u003e\u003c/a\u003e fix: fix DATE cursor comparison (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29327\"\u003e#29327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/f8e742a8de6878a206d8493b61d911dac97e11df\"\u003e\u003ccode\u003ef8e742a\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.5.0-13.0f1690a1b5dcd01b5341a4f411f07767f1f76...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prisma/prisma/commits/7.7.0/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.0 to 25.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.10 to 19.2.14\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 `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.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.57.1 (2026-03-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/typescript-eslint/typescript-eslint/commit/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5a9bd366139c8e306dd78ae906d4389972de42b6\"\u003e\u003ccode\u003e5a9bd36\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-regexp-exec] avoid fixing unknown RegExp flags (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/edb90ebf7c75a71065bed719f3e72d18b830c6a0\"\u003e\u003ccode\u003eedb90eb\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-extraneous-class] handle index signatures (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1bf86c9f5c799916d12079c037c79e10b29cdc9c\"\u003e\u003ccode\u003e1bf86c9\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e9cc25a794dbf82a241807f394489a2aad39ffae\"\u003e\u003ccode\u003ee9cc25a\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): fix typo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12155\"\u003e#12155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f68c8e4baca096281b458ccb6ff16ca6c5a1d199\"\u003e\u003ccode\u003ef68c8e4\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-readonly-parameter-types] preserve type alias inf...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/73acd2e6833c4757d2743a8dbb979154d31a1e98\"\u003e\u003ccode\u003e73acd2e\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] skip reporting false posi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/3d21482030e4fd220f466cea7036e07695277364\"\u003e\u003ccode\u003e3d21482\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unsafe-return] false positive on unwrapping generic (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.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.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.1 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.0 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/c7c38aa252d7bf6708a225aebedc57686ac33dcd\"\u003e\u003ccode\u003ec7c38aa\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8\"\u003e\u003ccode\u003ea09921e\u003c/code\u003e\u003c/a\u003e chore: update vitest to 4.x (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071\"\u003e#12071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autoprefixer` from 10.4.24 to 10.4.27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/releases\"\u003eautoprefixer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md\"\u003eautoprefixer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/360f2d9ecbad3315fbabc61fb2131ac939fee211\"\u003e\u003ccode\u003e360f2d9\u003c/code\u003e\u003c/a\u003e Release 10.4.27 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ab5260c30de086760abf7f666bb52f9267ff387e\"\u003e\u003ccode\u003eab5260c\u003c/code\u003e\u003c/a\u003e Update clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/09e9dd12c023a02a90d05db46c3c75166525674c\"\u003e\u003ccode\u003e09e9dd1\u003c/code\u003e\u003c/a\u003e Release 10.4.26 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ec7554060076640e1261e16d3af8f81c3a2b17cf\"\u003e\u003ccode\u003eec75540\u003c/code\u003e\u003c/a\u003e Ignore local patches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/59601b89582c2ca286a5e2a545ba98fb0004a5aa\"\u003e\u003ccode\u003e59601b8\u003c/code\u003e\u003c/a\u003e Update c8 and clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/06ea9886faa25c3272e2d86b945852e61a6997f7\"\u003e\u003ccode\u003e06ea988\u003c/code\u003e\u003c/a\u003e Release 10.4.25 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/47d8a5bde458ba19e25df455fcda8fcf31b97135\"\u003e\u003ccode\u003e47d8a5b\u003c/code\u003e\u003c/a\u003e Update dependencies and fix Node.js 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/51c596e429567c3a4c8e95123825b5ddd1d4a8b7\"\u003e\u003ccode\u003e51c596e\u003c/code\u003e\u003c/a\u003e Add Node.js 25 and 24 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/523982391ff26ea30f7c76a601ca3b655e1da543\"\u003e\u003ccode\u003e5239823\u003c/code\u003e\u003c/a\u003e Fix CSS variables in gradients (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1515\"\u003e#1515\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/postcss/autoprefixer/compare/10.4.24...10.4.27\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.2 to 10.2.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.2.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/586ec2f43092779acc957866db4abe999112d1e1\"\u003e\u003ccode\u003e586ec2f\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003emeta.languages\u003c/code\u003e support to rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20571\"\u003e#20571\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/14207dee3939dc87cfa8b2fcfc271fff2cfd6471\"\u003e\u003ccode\u003e14207de\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eTemporal\u003c/code\u003e to \u003ccode\u003eno-obj-calls\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20675\"\u003e#20675\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbb2c93a2b31bd30924f32fe69a9acf41f9dfe35\"\u003e\u003ccode\u003ebbb2c93\u003c/code\u003e\u003c/a\u003e feat: add Temporal to ES2026 globals (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20672\"\u003e#20672\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a\"\u003e\u003ccode\u003e542cb3e\u003c/code\u003e\u003c/a\u003e fix: update first-party dependencies (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20714\"\u003e#20714\u003c/a\u003e) (Francesco Trotta)\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/a2af743ea60f683d0e0de9d98267c1e7e4f5e412\"\u003e\u003ccode\u003ea2af743\u003c/code\u003e\u003c/a\u003e docs: add \u003ccode\u003elanguage\u003c/code\u003e to configuration objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20712\"\u003e#20712\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6\"\u003e\u003ccode\u003e845f23f\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/5fbcf5958b897cc4df5d652924d18428db37f7ee\"\u003e\u003ccode\u003e5fbcf59\u003c/code\u003e\u003c/a\u003e docs: remove \u003ccode\u003esourceType\u003c/code\u003e from ts playground link (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20477\"\u003e#20477\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4\"\u003e\u003ccode\u003e8702a47\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/ddeaded2ab36951383ff67c60fb64ec68d29a46a\"\u003e\u003ccode\u003eddeaded\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/2b4496691266547784a7f7ad1989ce53381bab91\"\u003e\u003ccode\u003e2b44966\u003c/code\u003e\u003c/a\u003e docs: add Major Releases section to Manage Releases (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20269\"\u003e#20269\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/eab65c700ebb16a6e790910c720450c9908961fd\"\u003e\u003ccode\u003eeab65c7\u003c/code\u003e\u003c/a\u003e docs: update \u003ccode\u003eeslint\u003c/code\u003e versions in examples (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20664\"\u003e#20664\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3e4a29903bf31f0998e45ad9128a265bce1edc56\"\u003e\u003ccode\u003e3e4a299\u003c/code\u003e\u003c/a\u003e docs: update ESM Dependencies policies with note for own-usage packages (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20660\"\u003e#20660\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f\"\u003e\u003ccode\u003e8120e30\u003c/code\u003e\u003c/a\u003e refactor: extract no unmodified loop condition (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20679\"\u003e#20679\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745\"\u003e\u003ccode\u003e46e8469\u003c/code\u003e\u003c/a\u003e chore: update dependency markdownlint-cli2 to ^0.22.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20697\"\u003e#20697\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/01ed3aa68477f81a7188e1498cf4906e02015b7c\"\u003e\u003ccode\u003e01ed3aa\u003c/code\u003e\u003c/a\u003e test: add unit tests for unicode utilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20622\"\u003e#20622\u003c/a\u003e) (Manish chaudhary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/811f4930f82ee2b6ac8eae75cade9bed63de0781\"\u003e\u003ccode\u003e811f493\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003e--legacy-peer-deps\u003c/code\u003e from types integration tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20667\"\u003e#20667\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6b86fcfc5c75d6a3b8a2cf7bcdb3ef60635a9a03\"\u003e\u003ccode\u003e6b86fcf\u003c/code\u003e\u003c/a\u003e chore: update dependency npm-run-all2 to v8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20663\"\u003e#20663\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/632c4f83bf32b77981c7d395cacddd1bb172ee25\"\u003e\u003ccode\u003e632c4f8\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eprettier\u003c/code\u003e update commit to \u003ccode\u003e.git-blame-ignore-revs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20662\"\u003e#20662\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0b0f21927e03ba092400e3c70d7058f537765c8\"\u003e\u003ccode\u003eb0b0f21\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-regexp to ^3.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20659\"\u003e#20659\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/228a2dd4b272c17f516ee3541f1dd69eca0a8ab0\"\u003e\u003ccode\u003e228a2dd\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-eslint-plugin to ^7.3.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20661\"\u003e#20661\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ab4d7e244df244102de9d0d250b2ff12456a785\"\u003e\u003ccode\u003e3ab4d7e\u003c/code\u003e\u003c/a\u003e test: Add tests for eslintrc-style keys (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20645\"\u003e#20645\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.1.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ff4382be349035acdb170627a2dc92828e134562\"\u003e\u003ccode\u003eff4382b\u003c/code\u003e\u003c/a\u003e feat: apply fix for \u003ccode\u003eno-var\u003c/code\u003e in \u003ccode\u003eTSModuleBlock\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20638\"\u003e#20638\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0916995b51528872b15ba4fedb24172cf25fcb3f\"\u003e\u003ccode\u003e0916995\u003c/code\u003e\u003c/a\u003e feat: Implement api support for bulk-suppressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20565\"\u003e#20565\u003c/a\u003e) (Blake Sager)\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/2b8824e6be4223980e929a20025602df20d05ea2\"\u003e\u003ccode\u003e2b8824e\u003c/code\u003e\u003c/a\u003e fix: Prevent \u003ccode\u003eno-var\u003c/code\u003e autofix when a variable is used before declaration (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20464\"\u003e#20464\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e58b4bff167e79afd067d1b0ee9360bec2d3393e\"\u003e\u003ccode\u003ee58b4bf\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20597\"\u003e#20597\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b7b57fe9942c572ff651230f1f96cefed787ca52\"\u003e\u003ccode\u003eb7b57fe\u003c/code\u003e\u003c/a\u003e docs: use correct JSDoc link in require-jsdoc.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20641\"\u003e#20641\u003c/a\u003e) (mkemna-clb)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/58e4cfc7dbf0fe40c73f09bf0ff94ad944d0ba0e\"\u003e\u003ccode\u003e58e4cfc\u003c/code\u003e\u003c/a\u003e docs: add deprecation notice partial (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20639\"\u003e#20639\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7143dbf99df27c61edf1552da981794e99a0b2f2\"\u003e\u003ccode\u003e7143dbf\u003c/code\u003e\u003c/a\u003e docs: update v9 migration guide for \u003ccode\u003e@eslint/js\u003c/code\u003e usage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20540\"\u003e#20540\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/035fc4fbe506e3e4524882cf50db37a4e430adf4\"\u003e\u003ccode\u003e035fc4f\u003c/code\u003e\u003c/a\u003e docs: note that \u003ccode\u003eglobalReturn\u003c/code\u003e applies only with \u003ccode\u003esourceType: \u0026quot;script\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20630\"\u003e#20630\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e972c88ab7474a74191ee99ac2558b00d0427a8a\"\u003e\u003ccode\u003ee972c88\u003c/code\u003e\u003c/a\u003e docs: merge ESLint option descriptions into type definitions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20608\"\u003e#20608\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f10d8440137f0cfd75f18f4746ba6a1c621b953\"\u003e\u003ccode\u003e7f10d84\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/aeed0078ca2f73d4744cc522102178d45b5be64e\"\u003e\u003ccode\u003eaeed007\u003c/code\u003e\u003c/a\u003e docs: open playground link in new tab (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20602\"\u003e#20602\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a0d1a3772679d3d74bb860fc65b5b58678acd452\"\u003e\u003ccode\u003ea0d1a37\u003c/code\u003e\u003c/a\u003e docs: Add AI Usage Policy (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20510\"\u003e#20510\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\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/eslint/commit/000128c29235c5a8c35c7ef817dbccc4e42130ca\"\u003e\u003ccode\u003e000128c\u003c/code\u003e\u003c/a\u003e 10.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1988fad70e361fe1c8df7804930a66e6a9bfc698\"\u003e\u003ccode\u003e1988fad\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a\"\u003e\u003ccode\u003e542cb3e\u003c/code\u003e\u003c/a\u003e fix: update first-party dependencies (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2af743ea60f683d0e0de9d98267c1e7e4f5e412\"\u003e\u003ccode\u003ea2af743\u003c/code\u003e\u003c/a\u003e docs: add \u003ccode\u003elanguage\u003c/code\u003e to configuration objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20712\"\u003e#20712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6\"\u003e\u003ccode\u003e845f23f\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5fbcf5958b897cc4df5d652924d18428db37f7ee\"\u003e\u003ccode\u003e5fbcf59\u003c/code\u003e\u003c/a\u003e docs: remove \u003ccode\u003esourceType\u003c/code\u003e from ts playground link (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20477\"\u003e#20477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4\"\u003e\u003ccode\u003e8702a47\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ddeaded2ab36951383ff67c60fb64ec68d29a46a\"\u003e\u003ccode\u003eddeaded\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f\"\u003e\u003ccode\u003e8120e30\u003c/code\u003e\u003c/a\u003e refactor: extract no unmodified loop condition (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20679\"\u003e#20679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745\"\u003e\u003ccode\u003e46e8469\u003c/code\u003e\u003c/a\u003e chore: update dependency markdownlint-cli2 to ^0.22.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20697\"\u003e#20697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.2...v10.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-next` from 16.1.6 to 16.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003eeslint-config-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebackport: Move expanded adapters docs to API reference (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92115\"\u003e#92115\u003c/a\u003e) (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92129\"\u003e#92129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBackport: TypeScript v6 deprecations for baseUrl and moduleResolution (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92130\"\u003e#92130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[create-next-app] Skip interactive prompts when CLI flags are provided (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91840\"\u003e#91840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003enext.config.js: Accept an option for serverFastRefresh (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91968\"\u003e#91968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: enable server HMR for app route handlers (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91466\"\u003e#91466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: exclude metadata routes from server HMR (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92034\"\u003e#92034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CI for glibc linux builds\u003c/li\u003e\n\u003cli\u003eBackport: disable bmi2 in qfilter \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92177\"\u003e#92177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[backport] Fix CSS HMR on Safari (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92174\"\u003e#92174\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/nextjs-bot\"\u003e\u003ccode\u003e@​nextjs-bot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/icyJoseph\"\u003e\u003ccode\u003e@​icyJoseph\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ijjk\"\u003e\u003ccode\u003e@​ijjk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaojude\"\u003e\u003ccode\u003e@​gaojude\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/wbinnssmith\"\u003e\u003ccode\u003e@​wbinnssmith\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/bgw\"\u003e\u003ccode\u003e@​bgw\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev16.2.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: post release amends (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91715\"\u003e#91715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix broken Activity Patterns demo link in preserving UI state guide (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91698\"\u003e#91698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix adapter outputs for dynamic metadata routes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91680\"\u003e#91680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: fix webpack loader runner layer (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91727\"\u003e#91727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix server actions in standalone mode with \u003ccode\u003ecacheComponents\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91711\"\u003e#91711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eturbo-persistence: remove Unmergeable mmap advice (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91713\"\u003e#91713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix layout segment optimization: move app-page imports to server-utility transition (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91701\"\u003e#91701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: lazy require metadata and handle TLA (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91705\"\u003e#91705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[turbopack] Respect \u003ccode\u003e{eval:true}\u003c/code\u003e in worker_threads constructors (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91666\"\u003e#91666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/icyJoseph\"\u003e\u003ccode\u003e@​icyJoseph\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/abhishekmardiya\"\u003e\u003ccode\u003e@​abhishekmardiya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ijjk\"\u003e\u003ccode\u003e@​ijjk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mischnic\"\u003e\u003ccode\u003e@​mischnic\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sokra\"\u003e\u003ccode\u003e@​sokra\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev16.2.1-canary.25\u003c/h2\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude more context in macOS Rosetta 2 warning message: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92436\"\u003e#92436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echange the process name of builds: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92411\"\u003e#92411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix styled-jsx race condition: styles lost due to concurrent rendering: \u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/gr8monk3ys/InfiniStar/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gr8monk3ys%2FInfiniStar/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"},{"uuid":"4210003283","node_id":"PR_kwDOQbvDhs7QIT_x","number":19,"state":"open","title":"chore(deps)(deps-dev): bump the dev-dependencies group across 1 directory with 24 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-04-06T06:27:27.000Z","updated_at":"2026-04-06T06:27:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"dev-dependencies","update_count":24,"packages":[{"name":"@babel/parser","old_version":"7.29.0","new_version":"7.29.2","repository_url":"https://github.com/babel/babel"},{"name":"@commitlint/cli","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.59.1","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.0","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.0","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.3.0","new_version":"25.5.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"electron","old_version":"40.6.0","new_version":"40.8.5","repository_url":"https://github.com/electron/electron"},{"name":"eslint","old_version":"10.0.1","new_version":"10.2.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-refresh","old_version":"0.5.0","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"17.3.0","new_version":"17.4.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.4.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"playwright","old_version":"1.58.2","new_version":"1.59.1","repository_url":"https://github.com/microsoft/playwright"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"react-doctor","old_version":"0.0.29","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"sass","old_version":"1.97.3","new_version":"1.99.0","repository_url":"https://github.com/sass/dart-sass"},{"name":"tailwindcss","old_version":"4.2.0","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite-plugin-electron","old_version":"0.29.0","new_version":"0.29.1","repository_url":"https://github.com/electron-vite/vite-plugin-electron"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.2","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@babel/parser](https://github.com/babel/babel/tree/HEAD/packages/babel-parser) | `7.29.0` | `7.29.2` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.4.2` | `20.5.0` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.4.2` | `20.5.0` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.59.1` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.2` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.0` | `4.2.2` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.0` | `25.5.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.58.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.58.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.2` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.2` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [electron](https://github.com/electron/electron) | `40.6.0` | `40.8.5` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.1` | `10.2.0` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.0` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.4.0` |\n| [playwright](https://github.com/microsoft/playwright) | `1.58.2` | `1.59.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.29` | `0.0.30` |\n| [sass](https://github.com/sass/dart-sass) | `1.97.3` | `1.99.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.2` |\n| [vite-plugin-electron](https://github.com/electron-vite/vite-plugin-electron) | `0.29.0` | `0.29.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.2` |\n\n\nUpdates `@babel/parser` from 7.29.0 to 7.29.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e\u003ccode\u003e@​babel/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.2 (2026-03-16)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17840\"\u003e#17840\u003c/a\u003e [7.x backport] async x =\u0026gt; {} must be in leading pos (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-generator-functions\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17805\"\u003e#17805\u003c/a\u003e [7.x backport] fix: Properly handle await in finally (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17789\"\u003e#17789\u003c/a\u003e [7.x backport] preset-env include/exclude should accept bugfix plugins (\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\u003ca href=\"https://redirect.github.com/babel/babel/pull/17813\"\u003e#17813\u003c/a\u003e chore: update eslint peer deps (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.1 (2026-02-04)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-standalone\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17771\"\u003e#17771\u003c/a\u003e [7.x backport] fix: ensure \u003ccode\u003etargets.esmodules\u003c/code\u003e is validated (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17776\"\u003e#17776\u003c/a\u003e [7.x backport] Fix undefined when 64 indents (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/37d5595fca9f188f0534458180611f2e776acd31\"\u003e\u003ccode\u003e37d5595\u003c/code\u003e\u003c/a\u003e v7.29.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f030ad34f84bb4758d23764f3bf89b501c50d706\"\u003e\u003ccode\u003ef030ad3\u003c/code\u003e\u003c/a\u003e [7.x backport] async x =\u0026gt; {} must be in leading pos (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-parser/issues/17840\"\u003e#17840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.2/packages/babel-parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e validate that --cwd directory exists before execution (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4658\"\u003e#4658\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003ecf80f75\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4595\"\u003e#4595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003e\u003ccode\u003ecf80f75\u003c/code\u003e\u003c/a\u003e fix(cli): validate that --cwd directory exists before execution (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4658\"\u003e#4658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/18bd371428771ecc98a7b2f00194bfcbfb4ba809\"\u003e\u003ccode\u003e18bd371\u003c/code\u003e\u003c/a\u003e chore: deps (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@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 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.2 to 1.59.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e\u003ccode\u003e@​playwright/test\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.59.1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Windows]\u003c/strong\u003e Reverted hiding console window when spawning browser processes, which caused regressions including broken \u003ccode\u003ecodegen\u003c/code\u003e, \u003ccode\u003e--ui\u003c/code\u003e and \u003ccode\u003eshow\u003c/code\u003e commands (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39990\"\u003e#39990\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.59.0\u003c/h2\u003e\n\u003ch2\u003e🎬 Screencast\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-page#page-screencast\"\u003epage.screencast\u003c/a\u003e API provides a unified interface for capturing page content with:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eScreencast recordings\u003c/li\u003e\n\u003cli\u003eAction annotations\u003c/li\u003e\n\u003cli\u003eVisual overlays\u003c/li\u003e\n\u003cli\u003eReal-time frame capture\u003c/li\u003e\n\u003cli\u003eAgentic video receipts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eScreencast recording\u003c/strong\u003e — record video with precise start/stop control, as an alternative to the \u003ca href=\"https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video\"\u003e\u003ccode\u003erecordVideo\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.start({ path: 'video.webm' });\r\n// ... perform actions ...\r\nawait page.screencast.stop();\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAction annotations\u003c/strong\u003e — enable built-in visual annotations that highlight interacted elements and display action titles during recording:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.showActions({ position: 'top-right' });\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-screencast#screencast-show-actions\"\u003escreencast.showActions()\u003c/a\u003e accepts \u003ccode\u003eposition\u003c/code\u003e (\u003ccode\u003e'top-left'\u003c/code\u003e, \u003ccode\u003e'top'\u003c/code\u003e, \u003ccode\u003e'top-right'\u003c/code\u003e, \u003ccode\u003e'bottom-left'\u003c/code\u003e, \u003ccode\u003e'bottom'\u003c/code\u003e, \u003ccode\u003e'bottom-right'\u003c/code\u003e), \u003ccode\u003eduration\u003c/code\u003e (ms per annotation), and \u003ccode\u003efontSize\u003c/code\u003e (px). Returns a disposable to stop showing actions.\u003c/p\u003e\n\u003cp\u003eAction annotations can also be enabled in test fixtures via the \u003ccode\u003evideo\u003c/code\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// playwright.config.ts\r\nexport default defineConfig({\r\n  use: {\r\n    video: {\r\n      mode: 'on',\r\n      show: {\r\n        actions: { position: 'top-left' },\r\n        test: { position: 'top-right' },\r\n      },\r\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/microsoft/playwright/commit/d466ac5358cae058cdc75d2ae3ab3ad220042730\"\u003e\u003ccode\u003ed466ac5\u003c/code\u003e\u003c/a\u003e chore: mark v1.59.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40005\"\u003e#40005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/530e7e5f0021730948605a5788790d353d9cf444\"\u003e\u003ccode\u003e530e7e5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/4004\"\u003e#4004\u003c/a\u003e): fix(cli): kill-all should kill dashboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9aa216c8d7f866e8a8fa94ca55d86e81a8f4decb\"\u003e\u003ccode\u003e9aa216c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39994\"\u003e#39994\u003c/a\u003e): Revert \u0026quot;fix(windows): hide console window when spawning ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/01b2b1533e0bfa1c582117e3ec109fcb57657747\"\u003e\u003ccode\u003e01b2b15\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39980\"\u003e#39980\u003c/a\u003e): chore: more release notes fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/a5cb6c9a2f52078de075413beb812e3180d195ba\"\u003e\u003ccode\u003ea5cb6c9\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39972\"\u003e#39972\u003c/a\u003e): chore: expose browser.bind and browser.unbind APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/99a17b58541798b03257c57a9e5589db2394f89e\"\u003e\u003ccode\u003e99a17b5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39975\"\u003e#39975\u003c/a\u003e): chore: support opening .trace files via .link indirection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/43607c3b71d89445a6473708429eeecd6f571d6e\"\u003e\u003ccode\u003e43607c3\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39974\"\u003e#39974\u003c/a\u003e): chore(webkit): update Safari user-agent version to 26.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/62cabe19eb07e329086e5cb20441737cf51367d0\"\u003e\u003ccode\u003e62cabe1\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39969\"\u003e#39969\u003c/a\u003e): chore(npm): include all *.md from lib (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39970\"\u003e#39970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/0c65a759af337ba5143ebbe34afe4141482ce2d4\"\u003e\u003ccode\u003e0c65a75\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39968\"\u003e#39968\u003c/a\u003e): chore: screencast.showActions api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f04155b09034c21719162146d6016de9933a2dbe\"\u003e\u003ccode\u003ef04155b\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39958\"\u003e#39958\u003c/a\u003e): chore: release notes for langs v1.59\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.59.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.0 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.2] - 2026-03-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve tsconfig paths to allow for \u003ccode\u003e@import '@/path/to/file';\u003c/code\u003e when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/d596b0c43d36ad5099c983930fb155e089cbc291\"\u003e\u003ccode\u003ed596b0c\u003c/code\u003e\u003c/a\u003e 4.2.2 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19821\"\u003e#19821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/faa5e8849be45e1009dc1d0f862ca782ee0a1ee9\"\u003e\u003ccode\u003efaa5e88\u003c/code\u003e\u003c/a\u003e Cleanup inconsistencies related to (regex) escapes (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19804\"\u003e#19804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.0 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.2] - 2026-03-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve tsconfig paths to allow for \u003ccode\u003e@import '@/path/to/file';\u003c/code\u003e when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/d596b0c43d36ad5099c983930fb155e089cbc291\"\u003e\u003ccode\u003ed596b0c\u003c/code\u003e\u003c/a\u003e 4.2.2 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19821\"\u003e#19821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/faa5e8849be45e1009dc1d0f862ca782ee0a1ee9\"\u003e\u003ccode\u003efaa5e88\u003c/code\u003e\u003c/a\u003e Cleanup inconsistencies related to (regex) escapes (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19804\"\u003e#19804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/59b0329f858dd8a25f64dfa55fb971aa6e74c32a\"\u003e\u003ccode\u003e59b0329\u003c/code\u003e\u003c/a\u003e Add support for Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bf441a799f67df1596c2cf40eda30ddb50859607\"\u003e\u003ccode\u003ebf441a7\u003c/code\u003e\u003c/a\u003e fix(vite): skip full reload for server only modules scanned by client css (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.0 to 25.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.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.57.1 (2026-03-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/typescript-eslint/typescript-eslint/commit/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5a9bd366139c8e306dd78ae906d4389972de42b6\"\u003e\u003ccode\u003e5a9bd36\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-regexp-exec] avoid fixing unknown RegExp flags (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/edb90ebf7c75a71065bed719f3e72d18b830c6a0\"\u003e\u003ccode\u003eedb90eb\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-extraneous-class] handle index signatures (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1bf86c9f5c799916d12079c037c79e10b29cdc9c\"\u003e\u003ccode\u003e1bf86c9\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e9cc25a794dbf82a241807f394489a2aad39ffae\"\u003e\u003ccode\u003ee9cc25a\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): fix typo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12155\"\u003e#12155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f68c8e4baca096281b458ccb6ff16ca6c5a1d199\"\u003e\u003ccode\u003ef68c8e4\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-readonly-parameter-types] preserve type alias inf...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/73acd2e6833c4757d2743a8dbb979154d31a1e98\"\u003e\u003ccode\u003e73acd2e\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] skip reporting false posi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/3d21482030e4fd220f466cea7036e07695277364\"\u003e\u003ccode\u003e3d21482\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unsafe-return] false positive on unwrapping generic (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.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.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.1 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.0 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/c7c38aa252d7bf6708a225aebedc57686ac33dcd\"\u003e\u003ccode\u003ec7c38aa\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8\"\u003e\u003ccode\u003ea09921e\u003c/code\u003e\u003c/a\u003e chore: update vitest to 4.x (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071\"\u003e#12071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser\"\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 4.0.18 to 4.1.2\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\u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.2\u003c/h2\u003e\n\u003cp\u003eThis release bumps Vitest's \u003ccode\u003eflatted\u003c/code\u003e version and removes version pinning to resolve \u003ccode\u003eflatted\u003c/code\u003e's CVE related issues (\u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9975\"\u003evitest-dev/vitest#9975\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't resolve \u003ccode\u003esetupFiles\u003c/code\u003e from parent directory  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9960\"\u003evitest-dev/vitest#9960\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7aa937776\"\u003e\u003c!-- raw HTML omitted --\u003e(7aa93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sequential mock/unmock resolution  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9830\"\u003evitest-dev/vitest#9830\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c06598db\"\u003e\u003c!-- raw HTML omitted --\u003e(7c065)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Take failure screenshot if \u003ccode\u003etoMatchScreenshot\u003c/code\u003e can't capture a stable screenshot  -  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/9847\"\u003evitest-dev/vitest#9847\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/faace1fbe\"\u003e\u003c!-- raw HTML omitted --\u003e(faace)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Correct \u003ccode\u003ecoverageConfigDefaults\u003c/code\u003e values and types  -  by \u003ca href=\"https://github.com/Arthie\"\u003e\u003ccode\u003e@​Arthie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9940\"\u003evitest-dev/vitest#9940\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b3c992cb2\"\u003e\u003c!-- raw HTML omitted --\u003e(b3c99)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epretty-format\u003c/strong\u003e: Fix output limit over counting  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9965\"\u003evitest-dev/vitest#9965\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3b7a40fa\"\u003e\u003c!-- raw HTML omitted --\u003e(d3b7a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable colors if agent is detected  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\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/9851\"\u003evitest-dev/vitest#9851\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f97b55dd\"\u003e\u003c!-- raw HTML omitted --\u003e(6f97b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.1...v4.1.2\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003ematchesTags\u003c/code\u003e to test if the current filter matches tags  -  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/9913\"\u003evitest-dev/vitest#9913\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eec53d9f5\"\u003e\u003c!-- raw HTML omitted --\u003e(eec53)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eexperimental.vcsProvider\u003c/code\u003e  -  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/9928\"\u003evitest-dev/vitest#9928\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/561150036\"\u003e\u003c!-- raw HTML omitted --\u003e(56115)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMark \u003ccode\u003eTestProject.testFilesList\u003c/code\u003e internal properly  -  by \u003ca href=\"https://github.com/sapphi-red\"\u003e\u003ccode\u003e@​sapphi-red\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9867\"\u003evitest-dev/vitest#9867\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/54f2660f5\"\u003e\u003c!-- raw HTML omitted --\u003e(54f26)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect fixture that returns without calling \u003ccode\u003euse\u003c/code\u003e  -  by \u003ca href=\"https://github.com/oilater\"\u003e\u003ccode\u003e@​oilater\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9831\"\u003evitest-dev/vitest#9831\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9861\"\u003evitest-dev/vitest#9861\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/633ae2303\"\u003e\u003c!-- raw HTML omitted --\u003e(633ae)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop vite 8.beta support  -  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/9862\"\u003evitest-dev/vitest#9862\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b78f5389d\"\u003e\u003c!-- raw HTML omitted --\u003e(b78f5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eType regression in vi.mocked() static class methods  -  by \u003ca href=\"https://github.com/purepear\"\u003e\u003ccode\u003e@​purepear\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9857\"\u003evitest-dev/vitest#9857\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/90926641b\"\u003e\u003c!-- raw HTML omitted --\u003e(90926)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly re-evaluate actual modules of mocked external  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9898\"\u003evitest-dev/vitest#9898\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/ae5ec03ef\"\u003e\u003c!-- raw HTML omitted --\u003e(ae5ec)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve coverage report when html reporter overlaps  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9889\"\u003evitest-dev/vitest#9889\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2d81ad897\"\u003e\u003c!-- raw HTML omitted --\u003e(2d81a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide \u003ccode\u003evi.advanceTimers\u003c/code\u003e to the preview provider  -  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/9891\"\u003evitest-dev/vitest#9891\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1bc3e63be\"\u003e\u003c!-- raw HTML omitted --\u003e(1bc3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't leak event listener in playwright provider  -  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/9910\"\u003evitest-dev/vitest#9910\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d93550ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(d9355)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOp...\n\n_Description has been truncated_","html_url":"https://github.com/PixelDroid19/CheeseJs/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelDroid19%2FCheeseJs/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"},{"uuid":"4080492873","node_id":"PR_kwDOQbvDhs7K0hzS","number":13,"state":"closed","title":"chore(deps)(deps-dev): bump the dev-dependencies group across 1 directory with 21 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-23T06:20:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T06:22:26.000Z","updated_at":"2026-03-23T06:21:01.000Z","time_to_close":604713,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"dev-dependencies","update_count":21,"packages":[{"name":"@commitlint/cli","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@tailwindcss/postcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.3.0","new_version":"25.5.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.57.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.57.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"electron","old_version":"40.6.0","new_version":"40.8.2","repository_url":"https://github.com/electron/electron"},{"name":"eslint","old_version":"10.0.1","new_version":"10.0.3","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-refresh","old_version":"0.5.0","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"17.3.0","new_version":"17.4.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.4.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"react-doctor","old_version":"0.0.29","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"sass","old_version":"1.97.3","new_version":"1.98.0","repository_url":"https://github.com/sass/dart-sass"},{"name":"tailwindcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite-plugin-electron","old_version":"0.29.0","new_version":"0.29.1","repository_url":"https://github.com/electron-vite/vite-plugin-electron"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.4.2` | `20.5.0` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.4.2` | `20.5.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.1` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.0` | `4.2.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.0` | `25.5.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.57.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.57.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.0` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.0` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [electron](https://github.com/electron/electron) | `40.6.0` | `40.8.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.1` | `10.0.3` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.0` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.4.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.29` | `0.0.30` |\n| [sass](https://github.com/sass/dart-sass) | `1.97.3` | `1.98.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.1` |\n| [vite-plugin-electron](https://github.com/electron-vite/vite-plugin-electron) | `0.29.0` | `0.29.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.0` |\n\n\nUpdates `@commitlint/cli` from 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e validate that --cwd directory exists before execution (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4658\"\u003e#4658\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003ecf80f75\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4595\"\u003e#4595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003e\u003ccode\u003ecf80f75\u003c/code\u003e\u003c/a\u003e fix(cli): validate that --cwd directory exists before execution (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4658\"\u003e#4658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/18bd371428771ecc98a7b2f00194bfcbfb4ba809\"\u003e\u003ccode\u003e18bd371\u003c/code\u003e\u003c/a\u003e chore: deps (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@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 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` 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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.0 to 25.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.57.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.57.0\u003c/h2\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] allow literal loop conditions in for/do loops (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080\"\u003e#12080\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 [strict-void-return] false positives with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055\"\u003e#12055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e handle statically analyzable computed keys in prefer-readonly (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079\"\u003e#12079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e guard against negative paramIndex in no-useless-default-assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077\"\u003e#12077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-promise-reject-errors] add allow \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e to prefer-promise-reject-errors (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094\"\u003e#12094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-base-to-string] fix false positive for toString with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089\"\u003e#12089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e switch back to use \u003ccode\u003ets.getModifiers()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034\"\u003e#12034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e if the template literal is tagged and the text has an invalid escape, \u003ccode\u003ecooked\u003c/code\u003e will be \u003ccode\u003enull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355\"\u003e#11355\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\u003eBrian Schlenker \u003ca href=\"https://github.com/bschlenk\"\u003e\u003ccode\u003e@​bschlenk\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\u003efisker Cheung \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMoses Odutusin \u003ca href=\"https://github.com/thebolarin\"\u003e\u003ccode\u003e@​thebolarin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] allow literal loop conditions in for/do loops (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080\"\u003e#12080\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-base-to-string] fix false positive for toString with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089\"\u003e#12089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-promise-reject-errors] add allow \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e to prefer-promise-reject-errors (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094\"\u003e#12094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e if the template literal is tagged and the text has an invalid escape, \u003ccode\u003ecooked\u003c/code\u003e will be \u003ccode\u003enull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355\"\u003e#11355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e guard against negative paramIndex in no-useless-default-assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077\"\u003e#12077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e handle statically analyzable computed keys in prefer-readonly (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079\"\u003e#12079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [strict-void-return] false positives with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055\"\u003e#12055\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\u003eBrian Schlenker \u003ca href=\"https://github.com/bschlenk\"\u003e\u003ccode\u003e@​bschlenk\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\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMoses Odutusin \u003ca href=\"https://github.com/thebolarin\"\u003e\u003ccode\u003e@​thebolarin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/46bf066d3df4af9aa8804a383e0d6d407a8e79f0\"\u003e\u003ccode\u003e46bf066\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): document no-unnecessary-condition limitation with object...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2029c78dcbe11b7e750af588d3c47f1211f02798\"\u003e\u003ccode\u003e2029c78\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-base-to-string] fix false positive for toString with ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0f4f101a125487bc07db323288afb86d5247bc31\"\u003e\u003ccode\u003e0f4f101\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-promise-reject-errors] add allow `TypeOrValueSpec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/53f473b7a8c46094623712ba69a627182d049a5b\"\u003e\u003ccode\u003e53f473b\u003c/code\u003e\u003c/a\u003e fix(typescript-estree): if the template literal is tagged and the text has an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2291b81f99670319618192645519a056fdb94cf4\"\u003e\u003ccode\u003e2291b81\u003c/code\u003e\u003c/a\u003e docs: minor grammar adjustment (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12112\"\u003e#12112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/fc5cd09de85600134ca0885ad5cdcedcddcd20ba\"\u003e\u003ccode\u003efc5cd09\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): guard against negative paramIndex in no-useless-default-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/adc2aad848fe1ac8044ba4a8d84daf8bb1939ced\"\u003e\u003ccode\u003eadc2aad\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): handle statically analyzable computed keys in prefer-read...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/85badfffbf38730772afbffaa6d024592752664a\"\u003e\u003ccode\u003e85badff\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [strict-void-return] false positives with overloads (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12055\"\u003e#12055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.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.56.0 to 8.57.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.57.0\u003c/h2\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] allow literal loop conditions in for/do loops (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080\"\u003e#12080\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 [strict-void-return] false positives with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055\"\u003e#12055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e handle statically analyzable computed keys in prefer-readonly (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079\"\u003e#12079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e guard against negative paramIndex in no-useless-default-assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077\"\u003e#12077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-promise-reject-errors] add allow \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e to prefer-promise-reject-errors (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094\"\u003e#12094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-base-to-string] fix false positive for toString with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089\"\u003e#12089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e switch back to use \u003ccode\u003ets.getModifiers()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034\"\u003e#12034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e if the template literal is tagged and the text has an invalid escape, \u003ccode\u003ecooked\u003c/code\u003e will be \u003ccode\u003enull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355\"\u003e#11355\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\u003eBrian Schlenker \u003ca href=\"https://github.com/bschlenk\"\u003e\u003ccode\u003e@​bschlenk\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\u003efisker Cheung \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMoses Odutusin \u003ca href=\"https://github.com/thebolarin\"\u003e\u003ccode\u003e@​thebolarin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8\"\u003e\u003ccode\u003ea09921e\u003c/code\u003e\u003c/a\u003e chore: update vitest to 4.x (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071\"\u003e#12071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/parser\"\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 4.0.18 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e\u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\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/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\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/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  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/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  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/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  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/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  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/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  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/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  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/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  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/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  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/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  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/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  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/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  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/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  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/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\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/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\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/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  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/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  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/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  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/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  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/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  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/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\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/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  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/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  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/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\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/8639\"\u003evitest-dev/vitest#8639\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/200f31704\"\u003e\u003c!-- raw HTML omitted --\u003e(200f3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eignore start/stop\u003c/code\u003e ignore hints  -  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/9204\"\u003evitest-dev/vitest#9204\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e59c94ba6\"\u003e\u003c!-- raw HTML omitted --\u003e(e59c9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecoverage.changed\u003c/code\u003e option to report only changed files  -  by \u003ca href=\"https://github.com/kykim00\"\u003e\u003ccode\u003e@​kykim00\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/9521\"\u003evitest-dev/vitest#9521\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9392c67\"\u003e\u003c!-- raw HTML omitted --\u003e(1d939)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonModuleRunner\u003c/code\u003e hook to \u003ccode\u003eworker.init\u003c/code\u003e  -  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/9286\"\u003evitest-dev/vitest#9286\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e977f3deb\"\u003e\u003c!-- raw HTML omitted --\u003e(e977f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOption to disable the module runner  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\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/9210\"\u003evitest-dev/vitest#9210\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9be6121ee\"\u003e\u003c!-- raw HTML omitted --\u003e(9be61)\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/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/689a22a1b8c79595f6f4ae82d2b43c895d7f1c50\"\u003e\u003ccode\u003e689a22a\u003c/code\u003e\u003c/a\u003e fix(browser): types of \u003ccode\u003egetCDPSession\u003c/code\u003e and \u003ccode\u003ecdp()\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9716\"\u003e#9716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/94eb73b519cb5ecd06c9aa178a3f0e161c96236f\"\u003e\u003ccode\u003e94eb73b\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint packages (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9615\"\u003e#9615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/8c96bb0023f551c78a81461d5c9aaedee634fe99\"\u003e\u003ccode\u003e8c96bb0\u003c/code\u003e\u003c/a\u003e refator: update links to npmx (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9783\"\u003e#9783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf775896af2356f5c710c54ec6e624fe8e4eef9\"\u003e\u003ccode\u003eaaf7758\u003c/code\u003e\u003c/a\u003e chore: standardize packages README (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9776\"\u003e#9776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/57cbe393bfb44602b0ea36110e9161aa08f4a468\"\u003e\u003ccode\u003e57cbe39\u003c/code\u003e\u003c/a\u003e chore(deps): update \u003ccode\u003east-v8-to-istanbul\u003c/code\u003e to v1 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9755\"\u003e#9755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/79672d7e1586981f04dce7619cbd8c3a31eff284\"\u003e\u003ccode\u003e79672d7\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9e3b3315024e3443a5a72fa8387508f4223528\"\u003e\u003ccode\u003e1d9e3b3\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4ff8c6fa15003c5464e901d71b3e9ec4c1854232\"\u003e\u003ccode\u003e4ff8c6f\u003c/code\u003e\u003c/a\u003e chore(build): raise build target to the minimum supported, don't bundle utils...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 4.0.18 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e\u003ccode\u003e@​vitest/ui\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\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/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\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/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  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/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  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/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  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/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  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/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  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/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  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/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  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/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  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/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  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/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  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/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  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/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  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/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\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/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\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/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.gi...\n\n_Description has been truncated_","html_url":"https://github.com/PixelDroid19/CheeseJs/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelDroid19%2FCheeseJs/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"4043620961","node_id":"PR_kwDOQbvDhs7I-LZ8","number":11,"state":"open","title":"chore(deps)(deps-dev): bump the dev-dependencies group across 1 directory with 16 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-03-09T06:23:25.000Z","updated_at":"2026-03-16T08:03:07.595Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"dev-dependencies","update_count":16,"packages":[{"name":"@commitlint/cli","old_version":"20.4.2","new_version":"20.4.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.4.2","new_version":"20.4.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@tailwindcss/postcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.3.0","new_version":"25.3.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.56.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.56.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"electron","old_version":"40.6.0","new_version":"40.8.0","repository_url":"https://github.com/electron/electron"},{"name":"eslint","old_version":"10.0.1","new_version":"10.0.3","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-refresh","old_version":"0.5.0","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"17.3.0","new_version":"17.4.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.3.2","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"react-doctor","old_version":"0.0.29","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"tailwindcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 16 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.4.2` | `20.4.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.4.2` | `20.4.3` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.1` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.0` | `4.2.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.0` | `25.3.5` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.56.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.56.1` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [electron](https://github.com/electron/electron) | `40.6.0` | `40.8.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.1` | `10.0.3` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.0` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.3.2` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.29` | `0.0.30` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.1` |\n\n\nUpdates `@commitlint/cli` from 20.4.2 to 20.4.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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e 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/4634\"\u003econventional-changelog/commitlint#4634\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChore etc.\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: enhance format check with error message by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4632\"\u003econventional-changelog/commitlint#4632\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/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\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/v20.4.2...v20.4.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e'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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/18bd371428771ecc98a7b2f00194bfcbfb4ba809\"\u003e\u003ccode\u003e18bd371\u003c/code\u003e\u003c/a\u003e chore: deps (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.4.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 20.4.2 to 20.4.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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e 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/4634\"\u003econventional-changelog/commitlint#4634\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChore etc.\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: enhance format check with error message by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4632\"\u003econventional-changelog/commitlint#4632\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/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\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/v20.4.2...v20.4.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e'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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.4.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 `@tailwindcss/postcss` 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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` 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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.0 to 25.3.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.56.0 to 8.56.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/958f390c8c5b136e6f095f9230ba301fc1db00e9\"\u003e\u003ccode\u003e958f390\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): add default excludes to vitest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12067\"\u003e#12067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ffb46eaa41a7c8a831dc09f0ed726dd4cc06ea4f\"\u003e\u003ccode\u003effb46ea\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [method-signature-style] clarify autofix impact on type ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.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.56.0 to 8.56.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autoprefixer` from 10.4.24 to 10.4.27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/releases\"\u003eautoprefixer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md\"\u003eautoprefixer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/360f2d9ecbad3315fbabc61fb2131ac939fee211\"\u003e\u003ccode\u003e360f2d9\u003c/code\u003e\u003c/a\u003e Release 10.4.27 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ab5260c30de086760abf7f666bb52f9267ff387e\"\u003e\u003ccode\u003eab5260c\u003c/code\u003e\u003c/a\u003e Update clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/09e9dd12c023a02a90d05db46c3c75166525674c\"\u003e\u003ccode\u003e09e9dd1\u003c/code\u003e\u003c/a\u003e Release 10.4.26 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ec7554060076640e1261e16d3af8f81c3a2b17cf\"\u003e\u003ccode\u003eec75540\u003c/code\u003e\u003c/a\u003e Ignore local patches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/59601b89582c2ca286a5e2a545ba98fb0004a5aa\"\u003e\u003ccode\u003e59601b8\u003c/code\u003e\u003c/a\u003e Update c8 and clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/06ea9886faa25c3272e2d86b945852e61a6997f7\"\u003e\u003ccode\u003e06ea988\u003c/code\u003e\u003c/a\u003e Release 10.4.25 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/47d8a5bde458ba19e25df455fcda8fcf31b97135\"\u003e\u003ccode\u003e47d8a5b\u003c/code\u003e\u003c/a\u003e Update dependencies and fix Node.js 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/51c596e429567c3a4c8e95123825b5ddd1d4a8b7\"\u003e\u003ccode\u003e51c596e\u003c/code\u003e\u003c/a\u003e Add Node.js 25 and 24 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/523982391ff26ea30f7c76a601ca3b655e1da543\"\u003e\u003ccode\u003e5239823\u003c/code\u003e\u003c/a\u003e Fix CSS variables in gradients (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1515\"\u003e#1515\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/postcss/autoprefixer/compare/10.4.24...10.4.27\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `electron` from 40.6.0 to 40.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/electron/electron/releases\"\u003eelectron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eelectron v40.8.0\u003c/h2\u003e\n\u003ch1\u003eRelease Notes for v40.8.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ereason\u003c/code\u003e property to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50030\"\u003e#50030\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50029\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed shutdown crash on windows when hidden titlebar is enabled. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50053\"\u003e#50053\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50054\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/50055\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Chromium to 144.0.7559.236. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50060\"\u003e#50060\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eelectron v40.7.0\u003c/h2\u003e\n\u003ch1\u003eRelease Notes for v40.7.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003e--experimental-transform-types\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49883\"\u003e#49883\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49881\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49882\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow dynamically updating menu item labels, sublabels, and icons. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49973\"\u003e#49973\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49972\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003esafeStorage\u003c/code\u003e failing to clean up legacy keychain entries when migrating to suffixed account names on macOS, and fixed first launch creating entries with the wrong (unsuffixed) account name. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49817\"\u003e#49817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug that cause offscreen rendering doesn't have valid screen info and unable to get valid result of related media queries.\n\u003cul\u003e\n\u003cli\u003eAdded webPreference.offscreen.deviceScaleFactor to allow user specify a value, instead of using user's primary display's value. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49681\"\u003e#49681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed a macOS crash when creating a new tab from the tab overview. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49934\"\u003e#49934\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49933\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue on macOS where Universal Links were not delivered to \u003ccode\u003eapp.on('continue-activity')\u003c/code\u003e on cold launch when \u003ccode\u003eNSUserActivity.userInfo\u003c/code\u003e was nil. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50005\"\u003e#50005\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50004\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/50006\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where \u003ccode\u003eVideoFrame\u003c/code\u003e objects returned through \u003ccode\u003econtextBridge\u003c/code\u003e had an incorrect prototype. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50022\"\u003e#50022\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50021\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/50023\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where malformed custom \u003ccode\u003etoastXml\u003c/code\u003e could cause a Notification crash. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49952\"\u003e#49952\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49953\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed menu bar hiding after a call to \u003ccode\u003ewin.setFullScreen(false)\u003c/code\u003e when not in fullscreen on Linux. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49994\"\u003e#49994\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49996\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed menus to correctly emit \u003ccode\u003emenu-will-close\u003c/code\u003e event when closed after any submenu has been open. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49963\"\u003e#49963\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49964\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Chromium to 144.0.7559.225. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49928\"\u003e#49928\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to v24.14.0. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49939\"\u003e#49939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eelectron v40.6.1\u003c/h2\u003e\n\u003ch1\u003eRelease Notes for v40.6.1\u003c/h1\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eglobalShortcut\u003c/code\u003e not working on Wayland with \u003ccode\u003eGlobalShortcutsPortal\u003c/code\u003e feature enabled. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49870\"\u003e#49870\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49871\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where making a window fullscreen on Windows, minimizing it and then restoring it broke previous fullscreen state. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49892\"\u003e#49892\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49891\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where menu item enabled state wasn't updated during key equivalent dispatch when the menu was closed on macOS. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49889\"\u003e#49889\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49888\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49890\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where pressing AltGr could activate or focus the menu bar. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49915\"\u003e#49915\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49914\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49916\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where setting \u003ccode\u003ezoomFactor\u003c/code\u003e in \u003ccode\u003esetWindowOpenHandler\u003c/code\u003e's \u003ccode\u003eoverrideBrowserWindowOptions\u003c/code\u003e had no effect on windows opened via \u003ccode\u003ewindow.open()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49909\"\u003e#49909\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49911\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed draggable regions not updating position when DevTools is docked to the left or right in a frameless window. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49847\"\u003e#49847\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49846\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49848\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed memory leak when setting icons on Linux/GTK. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49898\"\u003e#49898\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49897\"\u003e38\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49896\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49895\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed startup crash when V8 sandbox is disabled. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49884\"\u003e#49884\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49504\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther Changes\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/electron/electron/commit/de61f6c5e8ae56bc115edbfd7ffd07c85424670c\"\u003e\u003ccode\u003ede61f6c\u003c/code\u003e\u003c/a\u003e feat: show toast dismissal reason on Windows (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50030\"\u003e#50030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/90f85f2bf4a4f65d85f5fc9552d49668d6d98efa\"\u003e\u003ccode\u003e90f85f2\u003c/code\u003e\u003c/a\u003e chore: bump chromium to 144.0.7559.236 (40-x-y) (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50060\"\u003e#50060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/60951cdca94482622931c5e8605cc98561f9fee0\"\u003e\u003ccode\u003e60951cd\u003c/code\u003e\u003c/a\u003e fix: use proper quoting for exe paths and args on Windows (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50075\"\u003e#50075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/a3022df30f35424b486e39a613f52caed56b925d\"\u003e\u003ccode\u003ea3022df\u003c/code\u003e\u003c/a\u003e build: fix code-signing for MacOS x64 tests (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50072\"\u003e#50072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/996fbfd6bc17c288b75eb2906ce9bad2b126d2ea\"\u003e\u003ccode\u003e996fbfd\u003c/code\u003e\u003c/a\u003e chore: remove applescript from trash (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50065\"\u003e#50065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/79d1e322816506197e371e83571cf3909e408859\"\u003e\u003ccode\u003e79d1e32\u003c/code\u003e\u003c/a\u003e fix: uaf in non-client hittest during view teardown (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50053\"\u003e#50053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1598b9116daef641157c557153dc5d3b809fdf13\"\u003e\u003ccode\u003e1598b91\u003c/code\u003e\u003c/a\u003e fix: validate USB device selection against filtered device list (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50048\"\u003e#50048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/68cd11118d0763c20eb859e97ab1bec91952ad3a\"\u003e\u003ccode\u003e68cd111\u003c/code\u003e\u003c/a\u003e fix: use setter's creation context when proxying setter in OverrideGlobalProp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1e2d5902a5a0153df031e95ef36e817b4cdb32a0\"\u003e\u003ccode\u003e1e2d590\u003c/code\u003e\u003c/a\u003e fix: bind offscreen paint callback to child \u003ccode\u003eWebContents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50024\"\u003e#50024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1bbe8c9610cb64e37d5db124ac56a48388f3f5a1\"\u003e\u003ccode\u003e1bbe8c9\u003c/code\u003e\u003c/a\u003e fix: use destination context when wrapping VideoFrame in contextBridge (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50022\"\u003e#50022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/electron/electron/compare/v40.6.0...v40.8.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.0.1 to 10.0.3\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.0.3\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e511b58d5ecd63a232b87743614867f4eaadbba4\"\u003e\u003ccode\u003ee511b58\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20595\"\u003e#20595\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4c9cf9b8dc5642de555a09295933464080d722a\"\u003e\u003ccode\u003ef4c9cf9\u003c/code\u003e\u003c/a\u003e fix: include variable name in \u003ccode\u003eno-useless-assignment\u003c/code\u003e message (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20581\"\u003e#20581\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ee9ff31cee13712d2be2a6b5c0a4a54449fe9fe1\"\u003e\u003ccode\u003eee9ff31\u003c/code\u003e\u003c/a\u003e fix: update dependency minimatch to ^10.2.4 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20562\"\u003e#20562\u003c/a\u003e) (Milos Djermanovic)\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/9fc31b03ef05abfc4f0f449b22947029d51a72f6\"\u003e\u003ccode\u003e9fc31b0\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/4efaa367c62d5a45dd21e246e4a506e11dd51758\"\u003e\u003ccode\u003e4efaa36\u003c/code\u003e\u003c/a\u003e docs: add info box for \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20570\"\u003e#20570\u003c/a\u003e) (DesselBane)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/23b2759dd5cd70976ab2e8f4a1cf86ffe4b9f65d\"\u003e\u003ccode\u003e23b2759\u003c/code\u003e\u003c/a\u003e docs: add v10 migration guide link to Use docs index (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20577\"\u003e#20577\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/80259a9b0d9e29596a5ef0e1e5269031636cacdb\"\u003e\u003ccode\u003e80259a9\u003c/code\u003e\u003c/a\u003e docs: Remove deprecated eslintrc documentation files (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20472\"\u003e#20472\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9b9b4baf7f0515d28290464ea754d7e7dc350395\"\u003e\u003ccode\u003e9b9b4ba\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-await-in-loop documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20575\"\u003e#20575\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e7d72a77e5e1277690a505160137aebd5985909a\"\u003e\u003ccode\u003ee7d72a7\u003c/code\u003e\u003c/a\u003e docs: document TypeScript 5.3 minimum supported version (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20547\"\u003e#20547\u003c/a\u003e) (sethamus)\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/ef8fb924bfabc2e239b46b2d7b3c37319b03084e\"\u003e\u003ccode\u003eef8fb92\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e8f21040f675753e92df8e04f2dbd03addb92985\"\u003e\u003ccode\u003ee8f2104\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.4 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5cd1604cea5734bc235155a1a1add9f08ae83370\"\u003e\u003ccode\u003e5cd1604\u003c/code\u003e\u003c/a\u003e refactor: simplify isCombiningCharacter helper (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20524\"\u003e#20524\u003c/a\u003e) (Huáng Jùnliàng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/70ff1d07a8e7eba9e70b67ea55fcf2e47cdc9b2d\"\u003e\u003ccode\u003e70ff1d0\u003c/code\u003e\u003c/a\u003e chore: eslint-config-eslint require Node \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20586\"\u003e#20586\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e32df71a569d5f4aca13079dedd4ae76ea05168a\"\u003e\u003ccode\u003ee32df71\u003c/code\u003e\u003c/a\u003e chore: update eslint-plugin-eslint-comments, remove legacy-peer-deps (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20576\"\u003e#20576\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/53ca6eeed87262ebddd20636107f486badabcc1f\"\u003e\u003ccode\u003e53ca6ee\u003c/code\u003e\u003c/a\u003e chore: disable \u003ccode\u003eeslint-comments/no-unused-disable\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20578\"\u003e#20578\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e1218957452e223af27ace1f9d031ab421aec08f\"\u003e\u003ccode\u003ee121895\u003c/code\u003e\u003c/a\u003e ci: pin Node.js 25.6.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20559\"\u003e#20559\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc5aef2f9a05f01d5cad53dcb91e7f2c575e295\"\u003e\u003ccode\u003eefc5aef\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003etsconfig.json\u003c/code\u003e in \u003ccode\u003eeslint-config-eslint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20551\"\u003e#20551\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.2\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b723616a4daeacd4605f11b4d087d4a7cae5c74\"\u003e\u003ccode\u003e2b72361\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20537\"\u003e#20537\u003c/a\u003e) (루밀LuMir)\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/13eeedbbd16218b0da1425b78cb284937fd964ca\"\u003e\u003ccode\u003e13eeedb\u003c/code\u003e\u003c/a\u003e docs: link rule type explanation to CLI option --fix-type (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20548\"\u003e#20548\u003c/a\u003e) (Mike McCready)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/98cbf6ba53a1fb2028d25078c7049a538d0e392c\"\u003e\u003ccode\u003e98cbf6b\u003c/code\u003e\u003c/a\u003e docs: update migration guide per Program range change (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20534\"\u003e#20534\u003c/a\u003e) (Huáng Jùnliàng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61a24054411fa56ce74bef554846caa9d8cb01f5\"\u003e\u003ccode\u003e61a2405\u003c/code\u003e\u003c/a\u003e docs: add missing semicolon in vars-on-top rule example (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20533\"\u003e#20533\u003c/a\u003e) (Abilash)\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/951223b29669885643f7854d7c824288ba962d7e\"\u003e\u003ccode\u003e951223b\u003c/code\u003e\u003c/a\u003e chore: update dependency \u003ccode\u003e@​eslint/eslintrc\u003c/code\u003e to ^3.3.4 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20553\"\u003e#20553\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6aa1afe6694f3fd7f82116109a5ef2ad18ece074\"\u003e\u003ccode\u003e6aa1afe\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-jsdoc to ^62.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20536\"\u003e#20536\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/bfce7eaa0ec5d6591fd247b7ff57b51e45fb88a1\"\u003e\u003ccode\u003ebfce7ea\u003c/code\u003e\u003c/a\u003e 10.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d44ced84bb00b1df3c616255f28d036089703ed8\"\u003e\u003ccode\u003ed44ced8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e511b58d5ecd63a232b87743614867f4eaadbba4\"\u003e\u003ccode\u003ee511b58\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20595\"\u003e#20595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ef8fb924bfabc2e239b46b2d7b3c37319b03084e\"\u003e\u003ccode\u003eef8fb92\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e8f21040f675753e92df8e04f2dbd03addb92985\"\u003e\u003ccode\u003ee8f2104\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5cd1604cea5734bc235155a1a1add9f08ae83370\"\u003e\u003ccode\u003e5cd1604\u003c/code\u003e\u003c/a\u003e refactor: simplify isCombiningCharacter helper (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20524\"\u003e#20524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9fc31b03ef05abfc4f0f449b22947029d51a72f6\"\u003e\u003ccode\u003e9fc31b0\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/70ff1d07a8e7eba9e70b67ea55fcf2e47cdc9b2d\"\u003e\u003ccode\u003e70ff1d0\u003c/code\u003e\u003c/a\u003e chore: eslint-config-eslint require Node \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20586\"\u003e#20586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4c9cf9b8dc5642de555a09295933464080d722a\"\u003e\u003ccode\u003ef4c9cf9\u003c/code\u003e\u003c/a\u003e fix: include variable name in \u003ccode\u003eno-useless-assignment\u003c/code\u003e message (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20581\"\u003e#20581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4efaa367c62d5a45dd21e246e4a506e11dd51758\"\u003e\u003ccode\u003e4efaa36\u003c/code\u003e\u003c/a\u003e docs: add info box for \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20570\"\u003e#20570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.0.1...v10.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-react-refresh` from 0.5.0 to 0.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases\"\u003eeslint-plugin-react-refresh's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (actually fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark ESLint v10 as supported\u003c/li\u003e\n\u003cli\u003eSupport false positives with TypeScript function overloading (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\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/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md\"\u003eeslint-plugin-react-refresh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (actually fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark ESLint v10 as supported\u003c/li\u003e\n\u003cli\u003eSupport false positives with TypeScript function overloading (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\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/ArnaudBarre/eslint-plugin-react-refresh/commit/c0317bfe447d1f014e5e0bedcdfe77e50343c871\"\u003e\u003ccode\u003ec0317bf\u003c/code\u003e\u003c/a\u003e Fix support for nested function calls for extraHOCs [publish]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/commit/42a1805ef5c18354e7b4cfe9db48891f6e2a00f2\"\u003e\u003ccode\u003e42a1805\u003c/code\u003e\u003c/a\u003e Explicit v10 support (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/106\"\u003e#106\u003c/a\u003e) [publish]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/commit/199793e0d65ef30d24aadf077ed994f582264724\"\u003e\u003ccode\u003e199793e\u003c/code\u003e\u003c/a\u003e Support nested function calls for extraHOCs (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/commit/26b3c1525e7008545dee68b2deb4601802b88ade\"\u003e\u003ccode\u003e26b3c15\u003c/code\u003e\u003c/a\u003e Support false positives with TypeScript function overloading (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.5.0...v0.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.3.0 to 17.4.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.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-03-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/338\"\u003e#338\u003c/a\u003e)  d43a051\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.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/a9cfd7493fb701474d4dc946283c7b9d63d64134\"\u003e\u003ccode\u003ea9cfd74\u003c/code\u003e\u003c/a\u003e 17.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/d43a051c48fbb8c549bb98a7cf294ba84680a7a1\"\u003e\u003ccode\u003ed43a051\u003c/code\u003e\u003c/a\u003e Update globals (2026-03-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 16.2.7 to 16.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1735\"\u003e#1735\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf\"\u003e\u003ccode\u003e2adaf6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Hide the extra \u003ccode\u003ecmd\u003c/code\u003e window on Windows by spawning tasks without the \u003ccode\u003edetached\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1729\"\u003e#1729\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280\"\u003e\u003ccode\u003ecd5d762\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003enano-spawn\u003c/code\u003e as a dependency from \u003ccode\u003epackage.json\u003c/code\u003e as it was replaced with \u003ccode\u003etinyexec\u003c/code\u003e and is no longer used.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.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/lint-staged/lint-staged/pull/1698\"\u003e#1698\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547\"\u003e\u003ccode\u003efeda37a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Run external processes with \u003ca href=\"https://github.com/tinylibs/tinyexec\"\u003e\u003ccode\u003etinyexec\u003c/code\u003e\u003c/a\u003e instead of \u003ca href=\"https://github.com/sindresorhus/nano-spawn\"\u003e\u003ccode\u003enano-spawn\u003c/code\u003e\u003c/a\u003e. \u003ccode\u003enano-spawn\u003c/code\u003e replaced \u003ca href=\"https://github.com/sindresorhus/execa\"\u003e\u003ccode\u003eexeca\u003c/code\u003e\u003c/a\u003e in \u003cem\u003elint-staged\u003c/em\u003e version 16 to limit the amount of npm dependencies required, but caused some unknown issues related to spawning tasks. Let's hope \u003ccode\u003etinyexec\u003c/code\u003e improves the situation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1699\"\u003e#1699\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71\"\u003e\u003ccode\u003e1346d16\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003epidtree\u003c/code\u003e as a dependency. When a task fails, its sub-processes are killed more efficiently via the process group on Unix systems, and the \u003ccode\u003etaskkill\u003c/code\u003e command on Windows.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1726\"\u003e#1726\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d\"\u003e\u003ccode\u003e87467aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Incorrect brace expansions like \u003ccode\u003e*.{js}\u003c/code\u003e (\u003cem\u003enothing to expand\u003c/em\u003e) are detected exhaustively, instead of just a single pass.\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/lint-staged/lint-staged/blob/main/CHANGELOG.md\"\u003elint-staged's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e16.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1735\"\u003e#1735\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf\"\u003e\u003ccode\u003e2adaf6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Hide the extra \u003ccode\u003ecmd\u003c/code\u003e window on Windows by spawning tasks without the \u003ccode\u003edetached\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e16.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1729\"\u003e#1729\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280\"\u003e\u003ccode\u003ecd5d762\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003enano-spawn\u003c/code\u003e as a dependency from \u003ccode\u003epackage.json\u003c/code\u003e as it was replaced with \u003ccode\u003etinyexec\u003c/code\u003e and is no longer used.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e16.3.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/lint-staged/lint-staged/pull/1698\"\u003e#1698\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547\"\u003e\u003ccode\u003efeda37a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Run external processes with \u003ca href=\"https://github.com/tinylibs/tinyexec\"\u003e\u003ccode\u003etinyexec\u003c/code\u003e\u003c/a\u003e instead of \u003ca href=\"https://github.com/sindresorhus/nano-spawn\"\u003e\u003ccode\u003enano-spawn\u003c/code\u003e\u003c/a\u003e. \u003ccode\u003enano-spawn\u003c/code\u003e replaced \u003ca href=\"https://github.com/sindresorhus/execa\"\u003e\u003ccode\u003eexeca\u003c/code\u003e\u003c/a\u003e in \u003cem\u003elint-staged\u003c/em\u003e version 16 to limit the amount of npm dependencies required, but caused some unknown issues related to spawning tasks. Let's hope \u003ccode\u003etinyexec\u003c/code\u003e improves the situation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1699\"\u003e#1699\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71\"\u003e\u003ccode\u003e1346d16\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003epidtree\u003c/code\u003e as a dependency. When a task fails, its sub-processes are killed more efficiently via the process group on Unix systems, and the \u003ccode\u003etaskkill\u003c/code\u003e command on Windows.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1726\"\u003e#1726\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d\"\u003e\u003ccode\u003e87467aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Incorrect brace expansions like \u003ccode\u003e*.{js}\u003c/code\u003e (\u003cem\u003enothing to expand\u003c/em\u003e) are detected exhaustively, instead of just a single pass.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/dfd6a7a4afa1147c9b6ad7d441b1f6278da499c5\"\u003e\u003ccode\u003edfd6a7a\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf\"\u003e\u003ccode\u003e2adaf6c\u003c/code\u003e\u003c/a\u003e fix(Windows): do not spawn  tasks as detached since it opens a cmd window on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/60957ce617b2b7a6752bb6cf82298ba151affb6c\"\u003e\u003ccode\u003e60957ce\u003c/code\u003e\u003c/a\u003e docs: add CONTRIBUTING.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2a74cd292f4853b6224a4cefb3d7ed1bd49221a1\"\u003e\u003ccode\u003e2a74cd2\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280\"\u003e\u003ccode\u003ecd5d762\u003c/code\u003e\u003c/a\u003e refactor: remove \u003ccode\u003enano-spawn\u003c/code\u003e dependency completely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e342cab1f72741cf73268c3bc4989f00d999cbe7\"\u003e\u003ccode\u003ee342cab\u003c/code\u003e\u003c/a\u003e build(deps): move nano-spawn to dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/9aa2cd7f8b588319104a87f999a373552b19cedf\"\u003e\u003ccode\u003e9aa2cd7\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0c387bcf450f1e082629771d8156daa5cf0b68d2\"\u003e\u003ccode\u003e0c387bc\u003c/code\u003e\u003c/a\u003e test: make long-running task longer because of GitHub Actions slowness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d\"\u003e\u003ccode\u003e87467aa\u003c/code\u003e\u003c/a\u003e refactor: detect incorrect brace expansion exhaustively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/dceabc608f6e0a5e7beb2fab74520d1577c6b8e6\"\u003e\u003ccode\u003edceabc6\u003c/code\u003e\u003c/a\u003e ci: run \u003ccode\u003enpm audit\u003c/code\u003e in GitHub Actions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v16.2.7...v16.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss` from 8.5.6 to 8.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/releases\"\u003epostcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/blob/main/CHANGELOG.md\"\u003epostcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/65de53745f7b8006a335199995f2dfc6d1b77d92\"\u003e\u003ccode\u003e65de537\u003c/code\u003e\u003c/a\u003e Release 8.5.8 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/b2c6d9786e742eecb5a2b48ca5b9dc9daa30b24c\"\u003e\u003ccode\u003eb2c6d97\u003c/code\u003e\u003c/a\u003e Run git hook register\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/0ae0a492e9259783bca8e1de5a06d474880ce552\"\u003e\u003ccode\u003e0ae0a49\u003c/code\u003e\u003c/a\u003e Update Processor#version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/6ee9f14d3a19d06583ab887412553f7e7189709d\"\u003e\u003ccode\u003e6ee9f14\u003c/code\u003e\u003c/a\u003e Release 8.5.7 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/3fbc95172a26cd40db1a1d18a970a2edd4244c44\"\u003e\u003ccode\u003e3fbc951\u003c/code\u003e\u003c/a\u003e Fix uvu Node.js 25 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/52db53ea4339b117e4d41ddd1b65bd914a89b44e\"\u003e\u003ccode\u003e52db53e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/497daef7972d5c7634e30a28c3c1368587df446d\"\u003e\u003ccode\u003e497daef\u003c/code\u003e\u003c/a\u003e Speed up source map annotation cleaning by moving from RegExp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/41e739a940963c87519c8cc532ed41287129431b\"\u003e\u003ccode\u003e41e739a\u003c/code\u003e\u003c/a\u003e Remove banner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/1329142fc7d4b965bf9819ffa27ac2248f07ab20\"\u003e\u003ccode\u003e1329142\u003c/code\u003e\u003c/a\u003e chore: speed up space-only string check in lib/parser.js (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2064\"\u003e#2064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/23beff9a7c1da1639b0c159df869829ff7ae1ab4\"\u003e\u003ccode\u003e23beff9\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss/compare/8.5.6...8.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.29 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` 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/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d15d92ca60b2c06a11c2db6a24dfcca18147de59\"\u003e\u003ccode\u003ed15d92c\u003c/code\u003e\u003c/a\u003e Allow trailing dash in functional utility names (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/tailwindcss\"\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/PixelDroid19/CheeseJs/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelDroid19%2FCheeseJs/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4043046205","node_id":"PR_kwDORTavO87I8Uwl","number":7,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-16T03:01:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-09T03:03:52.000Z","updated_at":"2026-03-16T03:01:59.000Z","time_to_close":604685,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":20,"packages":[{"name":"react-doctor","old_version":"0.0.28","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"turbo","old_version":"2.8.10","new_version":"2.8.14","repository_url":"https://github.com/vercel/turborepo"},{"name":"@aws-sdk/client-s3","old_version":"3.993.0","new_version":"3.1004.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@aws-sdk/s3-request-presigner","old_version":"3.993.0","new_version":"3.1004.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@prisma/client","old_version":"5.22.0","new_version":"7.4.2","repository_url":"https://github.com/prisma/prisma"},{"name":"dotenv","old_version":"16.6.1","new_version":"17.3.1","repository_url":"https://github.com/motdotla/dotenv"},{"name":"express","old_version":"4.22.1","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.3.0","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"node-cron","old_version":"3.0.3","new_version":"4.2.1","repository_url":"https://github.com/merencia/node-cron"},{"name":"zod","old_version":"3.25.76","new_version":"4.3.6","repository_url":"https://github.com/colinhacks/zod"},{"name":"@types/node","old_version":"20.19.33","new_version":"25.3.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"prisma","old_version":"5.22.0","new_version":"7.4.2","repository_url":"https://github.com/prisma/prisma"},{"name":"next","old_version":"16.1.0","new_version":"16.1.6","repository_url":"https://github.com/vercel/next.js"},{"name":"react","old_version":"19.2.0","new_version":"19.2.4","repository_url":"https://github.com/facebook/react"},{"name":"react-dom","old_version":"19.2.0","new_version":"19.2.4","repository_url":"https://github.com/facebook/react"},{"name":"swr","old_version":"2.4.0","new_version":"2.4.1","repository_url":"https://github.com/vercel/swr"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.28` | `0.0.30` |\n| [turbo](https://github.com/vercel/turborepo) | `2.8.10` | `2.8.14` |\n| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.993.0` | `3.1004.0` |\n| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.993.0` | `3.1004.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `5.22.0` | `7.4.2` |\n| [dotenv](https://github.com/motdotla/dotenv) | `16.6.1` | `17.3.1` |\n| [express](https://github.com/expressjs/express) | `4.22.1` | `5.2.1` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.3.0` |\n| [node-cron](https://github.com/merencia/node-cron) | `3.0.3` | `4.2.1` |\n| [zod](https://github.com/colinhacks/zod) | `3.25.76` | `4.3.6` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.33` | `25.3.5` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `5.22.0` | `7.4.2` |\n| [next](https://github.com/vercel/next.js) | `16.1.0` | `16.1.6` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.0` | `19.2.4` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.0` | `19.2.4` |\n| [swr](https://github.com/vercel/swr) | `2.4.0` | `2.4.1` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.19` | `4.2.1` |\n\n\nUpdates `react-doctor` from 0.0.28 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.8.10 to 2.8.14\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.8.14-canary.9\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\u003eperf: Fire-and-forget telemetry and analytics HTTP flushes on shutdown 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/12162\"\u003evercel/turborepo#12162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: Defer lockfile await until after internal dependency resolution 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/12164\"\u003evercel/turborepo#12164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Extract \u003ccode\u003eturborepo-query-api\u003c/code\u003e trait crate for compile-time decoupling 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/12165\"\u003evercel/turborepo#12165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Include version, platform, and CPU count in Chrome trace profiles 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/12166\"\u003evercel/turborepo#12166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Remove bespoke AI prompts from documentation pages 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/12167\"\u003evercel/turborepo#12167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Add comprehensive path traversal tests for cache archive 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/12169\"\u003evercel/turborepo#12169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Add regression tests and \u003ccode\u003eOutputWatcher\u003c/code\u003e trait to prepare for daemon removal from \u003ccode\u003eturbo watch\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/12171\"\u003evercel/turborepo#12171\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.8.14-canary.8...v2.8.14-canary.9\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.8...v2.8.14-canary.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.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\u003efix: Preserve deeply nested workspace deps during npm lockfile pruning 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/12146\"\u003evercel/turborepo#12146\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.8.14-canary.4...v2.8.14-canary.5\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.4...v2.8.14-canary.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.4\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\u003efeat: Add \u003ccode\u003erunAttributes\u003c/code\u003e config to OTel metrics for cardinality control by \u003ca href=\"https://github.com/bkonkle\"\u003e\u003ccode\u003e@​bkonkle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12144\"\u003evercel/turborepo#12144\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.8.14-canary.3...v2.8.14-canary.4\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.3...v2.8.14-canary.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.3\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\u003efix: Treat Bun runtime modules as builtins in Boundaries 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/12141\"\u003evercel/turborepo#12141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add \u003ccode\u003efutureFlags.longerSignatureKey\u003c/code\u003e to enforce minimum HMAC key length 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/12142\"\u003evercel/turborepo#12142\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.8.14-canary.2...v2.8.14-canary.3\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.2...v2.8.14-canary.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/c8fe2c1b3d7cbed1a54b3174abc953b251178a89\"\u003e\u003ccode\u003ec8fe2c1\u003c/code\u003e\u003c/a\u003e publish 2.8.14 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/27e8e67d4994c4ee70d81ffbea55bb13e30b811c\"\u003e\u003ccode\u003e27e8e67\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.8.14-canary.9 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12173\"\u003e#12173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0efbe300169c6aeffa4167d60a9a1c5b90308db5\"\u003e\u003ccode\u003e0efbe30\u003c/code\u003e\u003c/a\u003e test: Add regression tests and \u003ccode\u003eOutputWatcher\u003c/code\u003e trait to prepare for daemon re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/6fbd5bb402c15c1c3dcd8137d18dfc0aef199766\"\u003e\u003ccode\u003e6fbd5bb\u003c/code\u003e\u003c/a\u003e test: Add comprehensive path traversal tests for cache archive (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12169\"\u003e#12169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c456ad34b29a799ba98167097265b0a5a84557cf\"\u003e\u003ccode\u003ec456ad3\u003c/code\u003e\u003c/a\u003e ci: Remove redundant rust_check job from lint workflow (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12168\"\u003e#12168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/ebe5e87d8c3b87e64144f52a0ac6897404bc34c2\"\u003e\u003ccode\u003eebe5e87\u003c/code\u003e\u003c/a\u003e docs: Remove bespoke AI prompts from documentation pages (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12167\"\u003e#12167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/716d8864bfcfc4b0082140a5008265013e395ac8\"\u003e\u003ccode\u003e716d886\u003c/code\u003e\u003c/a\u003e feat: Include version, platform, and CPU count in Chrome trace profiles (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12166\"\u003e#12166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7acfdc438809b3d88b09f6479175b900f446fe5e\"\u003e\u003ccode\u003e7acfdc4\u003c/code\u003e\u003c/a\u003e refactor: Extract \u003ccode\u003eturborepo-query-api\u003c/code\u003e trait crate for compile-time decoupli...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/14dd839ad03baf001ad52d1b6a445745e279e536\"\u003e\u003ccode\u003e14dd839\u003c/code\u003e\u003c/a\u003e perf: Defer lockfile await until after internal dependency resolution (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12164\"\u003e#12164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/6923c528b6141a9591c0246f619b8e55c447bf6d\"\u003e\u003ccode\u003e6923c52\u003c/code\u003e\u003c/a\u003e perf: Fire-and-forget telemetry and analytics HTTP flushes on shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12162\"\u003e#12162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.8.10...v2.8.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/client-s3` from 3.993.0 to 3.1004.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e\u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1004.0\u003c/h2\u003e\n\u003ch4\u003e3.1004.0(2026-03-06)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecodegen:\u003c/strong\u003e  smithy-aws-typescript-codegen 0.46.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7825\"\u003e#7825\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9652a4b1b1796b35ef24fd7be4c13ed6eb1deb24\"\u003e9652a4b1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-06 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8c6015c0d1c17e8807e3be1326377bcf2176efdd\"\u003e8c6015c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-gameliftstreams:\u003c/strong\u003e  Added new Gen6 stream classes based on the EC2 G6f instance family. These stream classes provide cost-optimized options for streaming well-optimized or lower-fidelity games on Windows environments. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3ce882b68e004b3589f882c1d5fbb9443e07b5b1\"\u003e3ce882b6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock:\u003c/strong\u003e  Amazon Bedrock Guardrails account-level enforcement APIs now support lists for model inclusion and exclusion from guardrail enforcement. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/63b3598691d116dadd5c389362be5369d5901a39\"\u003e63b35986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  Amazon Connect now supports the ability to programmatically configure and run automated tests for contact center experiences for Chat. Integrate testing into CICD pipelines, run multiple tests at scale, and retrieve results via API to automate validation of chat interactions and workflows. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/696614ae8195f9ba2f9d3366e2d27e3aacf45726\"\u003e696614ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bcm-data-exports:\u003c/strong\u003e  Fixed wrong endpoint resolutions in few regions. Added AWS CFN resource schema for BCM Data Exports. Added max value validation for pagination parameter. Fixed ARN format validation for BCM Data Exports resources. Updated size constraints for table properties. Added AccessDeniedException error. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/23fdf9940dbeb9fab236e565d4ef529779a19862\"\u003e23fdf994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports cost scale factors for farms, enabling studios to adjust reported costs to reflect their actual rendering economics. Adjusted costs are reflected in Deadline Cloud's Usage Explorer and Budgets. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/16f6d5104bf57a9d034affe12f33d4f424c7ed0f\"\u003e16f6d510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appintegrations:\u003c/strong\u003e  This release adds support for webhooks, allowing customers to create an Event Integration with a webhook source. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c86ed4e1a4295d2654b2cc1ef8e195a6a97bcb58\"\u003ec86ed4e1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agentcore-control:\u003c/strong\u003e  Adds support for streaming memory records in AgentCore Memory (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/174685704e07d5b8cbb6414cd6d9f2f6a85736c3\"\u003e17468570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Adds support for longer email message header values, increasing the maximum length from 870 to 995 characters for RFC 5322 compliance. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3a573039fa760964ce4b8aef17b46b96183f3087\"\u003e3a573039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e  fix package release ordering (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7829\"\u003e#7829\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/cc6da58f9b94de5e1bd45b6486fecdf222f669d1\"\u003ecc6da58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emiddleware-user-agent:\u003c/strong\u003e  use retry strategy mode property instead of legacy fallback (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7811\"\u003e#7811\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/db7863372abba6035e12aaf8a015f9f6bc020bbb\"\u003edb786337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1004.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1003.0\u003c/h2\u003e\n\u003ch4\u003e3.1003.0(2026-03-05)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003ebump '@smithy/*' dependencies (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7822\"\u003e#7822\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e8ddd5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eset downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7817\"\u003e#7817\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e03dad66b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003estrip trailing periods when the last character is non-alphanumeric (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7821\"\u003e#7821\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6b5b50b248cceac0353ad6b2dd3be974db27c6a4\"\u003e6b5b50b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esort missed package.json files (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7820\"\u003e#7820\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/297b56431a1c8fe0563a55d35dd80c02e9bfb386\"\u003e297b5643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einclude deprecated-since in generated tsdoc (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7815\"\u003e#7815\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/17ecb20a27d0c2b7968db1edf3b453e4a4732849\"\u003e17ecb20a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-05 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e9a8d8dea104165b03857c991d4e9e8ae4dec3a3\"\u003ee9a8d8de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Added MALICIOUS FILE to IndicatorType enum in MDC Sequence (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bb9d466281db2b1023129d249ed576bd94730b18\"\u003ebb9d4662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-savingsplans:\u003c/strong\u003e  Added support for OpenSearch and Neptune Analytics to Database Savings Plans. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9e0639134fff8635622886260fb2127daa8778de\"\u003e9e063913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for S3 Bucket Ownership validation for SageMaker Managed MLflow. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b62165643e03cc036e13cd463cde57116f36b38b\"\u003eb6216564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connecthealth:\u003c/strong\u003e  Connect-Health SDK is AWS's unified SDK for the Amazon Connect Health offering. It allows healthcare developers to integrate purpose-built agents - such as patient insights, ambient documentation, and medical coding - into their existing applications, including EHRs, telehealth, and revenue cycle. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/454c6cb7d73b92d737c008a9d9ef7fdb6365d647\"\u003e454c6cb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mpa:\u003c/strong\u003e  Updates to multi-party approval (MPA) service to add support for approval team baseline operations. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e95815438c56f42e2ffa47962c1aaa3c82afeef8\"\u003ee9581543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Added metadata field to CapacityAllocation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/d7cce1c2a1a299c49f16f9bc02ee88d904d723de\"\u003ed7cce1c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md\"\u003e\u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1003.0...v3.1004.0\"\u003e3.1004.0\u003c/a\u003e (2026-03-06)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1002.0...v3.1003.0\"\u003e3.1003.0\u003c/a\u003e (2026-03-05)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1001.0...v3.1002.0\"\u003e3.1002.0\u003c/a\u003e (2026-03-04)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1000.0...v3.1001.0\"\u003e3.1001.0\u003c/a\u003e (2026-03-03)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.999.0...v3.1000.0\"\u003e3.1000.0\u003c/a\u003e (2026-02-27)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.998.0...v3.999.0\"\u003e3.999.0\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.997.0...v3.998.0\"\u003e3.998.0\u003c/a\u003e (2026-02-25)\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/7c0815232f14789a405ec73195945552d991beb4\"\u003e\u003ccode\u003e7c08152\u003c/code\u003e\u003c/a\u003e Publish v3.1004.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/4c36ea38e9ddc6deacd435c7c590921940f4c9ff\"\u003e\u003ccode\u003e4c36ea3\u003c/code\u003e\u003c/a\u003e Publish v3.1003.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e\u003ccode\u003e8ddd544\u003c/code\u003e\u003c/a\u003e chore: bump '@smithy/*' dependencies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7822\"\u003e#7822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6b5b50b248cceac0353ad6b2dd3be974db27c6a4\"\u003e\u003ccode\u003e6b5b50b\u003c/code\u003e\u003c/a\u003e chore(clients): strip trailing periods when the last character is non-alphanu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e\u003ccode\u003e03dad66\u003c/code\u003e\u003c/a\u003e chore: set downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7817\"\u003e#7817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/1eabedb495b19e9c5fe4b24b9f9e461ba25e648f\"\u003e\u003ccode\u003e1eabedb\u003c/code\u003e\u003c/a\u003e test(clients): ignore prettifying automated snapshot test code (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7819\"\u003e#7819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/17ecb20a27d0c2b7968db1edf3b453e4a4732849\"\u003e\u003ccode\u003e17ecb20\u003c/code\u003e\u003c/a\u003e chore(clients): include deprecated-since in generated tsdoc (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7815\"\u003e#7815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/37f1adc72295176f8d844f5eaa13b427e27b28d6\"\u003e\u003ccode\u003e37f1adc\u003c/code\u003e\u003c/a\u003e test(clients): run client feature tests in browser mode too (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7808\"\u003e#7808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/800431bb02b71bad13537bc615e456df77776b22\"\u003e\u003ccode\u003e800431b\u003c/code\u003e\u003c/a\u003e Publish v3.1002.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b8467bd179319f86804fea08e1b09d3a95166603\"\u003e\u003ccode\u003eb8467bd\u003c/code\u003e\u003c/a\u003e Publish v3.1001.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1004.0/clients/client-s3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/s3-request-presigner` from 3.993.0 to 3.1004.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e\u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1004.0\u003c/h2\u003e\n\u003ch4\u003e3.1004.0(2026-03-06)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecodegen:\u003c/strong\u003e  smithy-aws-typescript-codegen 0.46.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7825\"\u003e#7825\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9652a4b1b1796b35ef24fd7be4c13ed6eb1deb24\"\u003e9652a4b1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-06 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8c6015c0d1c17e8807e3be1326377bcf2176efdd\"\u003e8c6015c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-gameliftstreams:\u003c/strong\u003e  Added new Gen6 stream classes based on the EC2 G6f instance family. These stream classes provide cost-optimized options for streaming well-optimized or lower-fidelity games on Windows environments. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3ce882b68e004b3589f882c1d5fbb9443e07b5b1\"\u003e3ce882b6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock:\u003c/strong\u003e  Amazon Bedrock Guardrails account-level enforcement APIs now support lists for model inclusion and exclusion from guardrail enforcement. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/63b3598691d116dadd5c389362be5369d5901a39\"\u003e63b35986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  Amazon Connect now supports the ability to programmatically configure and run automated tests for contact center experiences for Chat. Integrate testing into CICD pipelines, run multiple tests at scale, and retrieve results via API to automate validation of chat interactions and workflows. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/696614ae8195f9ba2f9d3366e2d27e3aacf45726\"\u003e696614ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bcm-data-exports:\u003c/strong\u003e  Fixed wrong endpoint resolutions in few regions. Added AWS CFN resource schema for BCM Data Exports. Added max value validation for pagination parameter. Fixed ARN format validation for BCM Data Exports resources. Updated size constraints for table properties. Added AccessDeniedException error. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/23fdf9940dbeb9fab236e565d4ef529779a19862\"\u003e23fdf994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports cost scale factors for farms, enabling studios to adjust reported costs to reflect their actual rendering economics. Adjusted costs are reflected in Deadline Cloud's Usage Explorer and Budgets. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/16f6d5104bf57a9d034affe12f33d4f424c7ed0f\"\u003e16f6d510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appintegrations:\u003c/strong\u003e  This release adds support for webhooks, allowing customers to create an Event Integration with a webhook source. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c86ed4e1a4295d2654b2cc1ef8e195a6a97bcb58\"\u003ec86ed4e1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agentcore-control:\u003c/strong\u003e  Adds support for streaming memory records in AgentCore Memory (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/174685704e07d5b8cbb6414cd6d9f2f6a85736c3\"\u003e17468570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Adds support for longer email message header values, increasing the maximum length from 870 to 995 characters for RFC 5322 compliance. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3a573039fa760964ce4b8aef17b46b96183f3087\"\u003e3a573039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e  fix package release ordering (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7829\"\u003e#7829\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/cc6da58f9b94de5e1bd45b6486fecdf222f669d1\"\u003ecc6da58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emiddleware-user-agent:\u003c/strong\u003e  use retry strategy mode property instead of legacy fallback (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7811\"\u003e#7811\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/db7863372abba6035e12aaf8a015f9f6bc020bbb\"\u003edb786337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1004.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1003.0\u003c/h2\u003e\n\u003ch4\u003e3.1003.0(2026-03-05)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003ebump '@smithy/*' dependencies (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7822\"\u003e#7822\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e8ddd5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eset downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7817\"\u003e#7817\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e03dad66b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003estrip trailing periods when the last character is non-alphanumeric (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7821\"\u003e#7821\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6b5b50b248cceac0353ad6b2dd3be974db27c6a4\"\u003e6b5b50b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esort missed package.json files (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7820\"\u003e#7820\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/297b56431a1c8fe0563a55d35dd80c02e9bfb386\"\u003e297b5643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einclude deprecated-since in generated tsdoc (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7815\"\u003e#7815\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/17ecb20a27d0c2b7968db1edf3b453e4a4732849\"\u003e17ecb20a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-05 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e9a8d8dea104165b03857c991d4e9e8ae4dec3a3\"\u003ee9a8d8de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Added MALICIOUS FILE to IndicatorType enum in MDC Sequence (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bb9d466281db2b1023129d249ed576bd94730b18\"\u003ebb9d4662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-savingsplans:\u003c/strong\u003e  Added support for OpenSearch and Neptune Analytics to Database Savings Plans. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9e0639134fff8635622886260fb2127daa8778de\"\u003e9e063913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for S3 Bucket Ownership validation for SageMaker Managed MLflow. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b62165643e03cc036e13cd463cde57116f36b38b\"\u003eb6216564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connecthealth:\u003c/strong\u003e  Connect-Health SDK is AWS's unified SDK for the Amazon Connect Health offering. It allows healthcare developers to integrate purpose-built agents - such as patient insights, ambient documentation, and medical coding - into their existing applications, including EHRs, telehealth, and revenue cycle. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/454c6cb7d73b92d737c008a9d9ef7fdb6365d647\"\u003e454c6cb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mpa:\u003c/strong\u003e  Updates to multi-party approval (MPA) service to add support for approval team baseline operations. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e95815438c56f42e2ffa47962c1aaa3c82afeef8\"\u003ee9581543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Added metadata field to CapacityAllocation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/d7cce1c2a1a299c49f16f9bc02ee88d904d723de\"\u003ed7cce1c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md\"\u003e\u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1003.0...v3.1004.0\"\u003e3.1004.0\u003c/a\u003e (2026-03-06)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1002.0...v3.1003.0\"\u003e3.1003.0\u003c/a\u003e (2026-03-05)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1001.0...v3.1002.0\"\u003e3.1002.0\u003c/a\u003e (2026-03-04)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1000.0...v3.1001.0\"\u003e3.1001.0\u003c/a\u003e (2026-03-03)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.999.0...v3.1000.0\"\u003e3.1000.0\u003c/a\u003e (2026-02-27)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.998.0...v3.999.0\"\u003e3.999.0\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.997.0...v3.998.0\"\u003e3.998.0\u003c/a\u003e (2026-02-25)\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/7c0815232f14789a405ec73195945552d991beb4\"\u003e\u003ccode\u003e7c08152\u003c/code\u003e\u003c/a\u003e Publish v3.1004.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/4c36ea38e9ddc6deacd435c7c590921940f4c9ff\"\u003e\u003ccode\u003e4c36ea3\u003c/code\u003e\u003c/a\u003e Publish v3.1003.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e\u003ccode\u003e8ddd544\u003c/code\u003e\u003c/a\u003e chore: bump '@smithy/*' dependencies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7822\"\u003e#7822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e\u003ccode\u003e03dad66\u003c/code\u003e\u003c/a\u003e chore: set downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7817\"\u003e#7817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/800431bb02b71bad13537bc615e456df77776b22\"\u003e\u003ccode\u003e800431b\u003c/code\u003e\u003c/a\u003e Publish v3.1002.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b8467bd179319f86804fea08e1b09d3a95166603\"\u003e\u003ccode\u003eb8467bd\u003c/code\u003e\u003c/a\u003e Publish v3.1001.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ab9e775920c7900a2759c22385091aa88eb6ee15\"\u003e\u003ccode\u003eab9e775\u003c/code\u003e\u003c/a\u003e chore(codegen): upgrade smithy 1.68.0 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7806\"\u003e#7806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e373aa8706d305625352a8fdb21cdbaadb1f971b\"\u003e\u003ccode\u003ee373aa8\u003c/code\u003e\u003c/a\u003e Publish v3.1000.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/cd1d49d696f4d2d596d2374943267f3a7074651c\"\u003e\u003ccode\u003ecd1d49d\u003c/code\u003e\u003c/a\u003e Publish v3.999.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ab81c738436db219e5163ccaab953805776b33d6\"\u003e\u003ccode\u003eab81c73\u003c/code\u003e\u003c/a\u003e chore(packages): reapply eslint rules (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7789\"\u003e#7789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1004.0/packages/s3-request-presigner\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 5.22.0 to 7.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e\u003ccode\u003e@​prisma/client\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.4.2\u003c/h2\u003e\n\u003cp\u003eToday, we are issuing a 7.4.2 patch release focused on bug fixes and quality improvements.\u003c/p\u003e\n\u003ch2\u003e🛠 Fixes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix a case-insensitive \u003ccode\u003eIN\u003c/code\u003e and \u003ccode\u003eNOT IN\u003c/code\u003e filter regression (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29243\"\u003eprisma/prisma#29243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a query plan mutation issue that resulted in broken cursor queries (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29262\"\u003eprisma/prisma#29262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an array parameter wrapping issue in push operations (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5784\"\u003eprisma/prisma-engines#5784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUint8Array\u003c/code\u003e serialization in nested JSON fields (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29268\"\u003eprisma/prisma#29268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an issue with MySQL joins that relied on non-strict equality (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29251\"\u003eprisma/prisma#29251\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-mariadb\u003c/code\u003e\u003c/strong\u003e: Update text column detection to check for a binary collation (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29238\"\u003eprisma/prisma#29238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-mariadb\u003c/code\u003e\u003c/strong\u003e: Correct \u003ccode\u003erelationJoins\u003c/code\u003e compatibility check for MariaDB 8.x versions (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29246\"\u003eprisma/prisma#29246\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSchema Engine\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix partial index predicate comparison on PostgreSQL and MSSQL (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5780\"\u003eprisma/prisma-engines#5780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🙏 Huge thanks to our community\u003c/h2\u003e\n\u003cp\u003eMany of the fixes in this release were contributed by our amazing community members. We're grateful for your continued support and contributions that help make Prisma better for everyone!\u003c/p\u003e\n\u003ch2\u003e7.4.1\u003c/h2\u003e\n\u003cp\u003eToday, we are issuing a 7.4.1 patch release focused on bug fixes and quality improvements.\u003c/p\u003e\n\u003ch2\u003e🛠 Fixes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix cursor-based pagination regression with parameterised values (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29184\"\u003eprisma/prisma#29184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003ePrisma.skip\u003c/code\u003e through query extension argument cloning (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29198\"\u003eprisma/prisma#29198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable batching of multiple queries inside interactive transactions (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/25571\"\u003eprisma/prisma#25571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing JSON value deserialization for JSONB parameter fields (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29182\"\u003eprisma/prisma#29182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply result extensions correctly for nested and fluent relations (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29218\"\u003eprisma/prisma#29218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow missing config datasource URL and validate only when needed (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5777\"\u003eprisma/prisma-engines#5777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-ppg\u003c/code\u003e\u003c/strong\u003e: Handle null values in type parsers for nullable columns (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29192\"\u003eprisma/prisma#29192\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Schema Language\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003ewhere\u003c/code\u003e argument on field-level \u003ccode\u003e@unique\u003c/code\u003e for partial indexes (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5774\"\u003eprisma/prisma-engines#5774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd object expression and object member support to schema reformatter (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5776\"\u003eprisma/prisma-engines#5776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🙏 Huge thanks to our community\u003c/h2\u003e\n\u003cp\u003eMany of the fixes in this release were contributed by our amazing community members. We're grateful for your continued support and contributions that help make Prisma better for everyone!\u003c/p\u003e\n\u003ch2\u003e7.4.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.4.0\u003c/code\u003e stable release 🎉\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/prisma/prisma/commit/ac2bed13bdda11b63205fe3eb31ea62363f03f03\"\u003e\u003ccode\u003eac2bed1\u003c/code\u003e\u003c/a\u003e chore: port fixes for 7.4.2 (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29270\"\u003e#29270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/533e22aa500fa87d6ac254b28f54a4446a1616c1\"\u003e\u003ccode\u003e533e22a\u003c/code\u003e\u003c/a\u003e chore: port fixes to 7.4 patch branch (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29222\"\u003e#29222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/7060f68a8a279d9c27e3a75b90341285024d9dcd\"\u003e\u003ccode\u003e7060f68\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-20.ab56fe763f921d033a6c195e7ddeb3e255bdb...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/91a24a9fb0b892938dfb6c121f604c68973a1ecb\"\u003e\u003ccode\u003e91a24a9\u003c/code\u003e\u003c/a\u003e feat: query plan caching (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29038\"\u003e#29038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/b49d4465c82833368b2d7dcdf328cb54811ccd11\"\u003e\u003ccode\u003eb49d446\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-18.2997580c8cb38878f73e100453e7b27119e8f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/3c999359fcf28744fe82d4ce467f0fd3620a1dc9\"\u003e\u003ccode\u003e3c99935\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-17.57b675f79cd26fbf702d70f9a13d2b7b2fad9...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/e7504d758000984622b80aaef2f10c9e85e19866\"\u003e\u003ccode\u003ee7504d7\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-16.d0314091cdd30494eefc61d346f8c09aca20d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/1e6c91c0ae3a61e09bda528af06c19ffce7e5687\"\u003e\u003ccode\u003e1e6c91c\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-15.6129681d45ea4510d3372dd5b28f6b8927584...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/e1bfd22dd00451c02ee1b46747613a4f85e983e8\"\u003e\u003ccode\u003ee1bfd22\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-13.e876f7aec6b9be3e5147d061ed521ec45a845...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/12ca9698ce83f8a36a98e78ae337646b50964151\"\u003e\u003ccode\u003e12ca969\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-12.aa5ee090ba89988f1dce71be263f4bcd9519b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prisma/prisma/commits/7.4.2/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for \u003ccode\u003e@​prisma/client\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv` from 16.6.1 to 17.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.0...v17.3.1\"\u003e17.3.1\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix as2 example command in README and update spanish README\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.0\"\u003e17.3.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new README section on dotenv’s approach to the agentic future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.3...v17.2.4\"\u003e17.2.4\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eDotenvPopulateInput\u003c/code\u003e accept \u003ccode\u003eNodeJS.ProcessEnv\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/915\"\u003e#915\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eGive back to dotenv by checking out my newest project \u003ca href=\"https://github.com/vestauth/vestauth\"\u003evestauth\u003c/a\u003e. It is auth for agents. Thank you for using my software.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.2...v17.2.3\"\u003e17.2.3\u003c/a\u003e (2025-09-29)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed typescript error definition (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/912\"\u003e#912\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.1...v17.2.2\"\u003e17.2.2\u003c/a\u003e (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🙏 A big thank you to new sponsor \u003ca href=\"https://tuple.app/dotenv\"\u003eTuple.app\u003c/a\u003e - \u003cem\u003ethe premier screen sharing app for developers on macOS and Windows.\u003c/em\u003e Go check them out. It's wonderful and generous of them to give back to open source by sponsoring dotenv. Give them some love back.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.0...v17.2.1\"\u003e17.2.1\u003c/a\u003e (2025-07-24)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix clickable tip links by removing parentheses (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/897\"\u003e#897\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.1.0...v17.2.0\"\u003e17.2.0\u003c/a\u003e (2025-07-09)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptionally specify \u003ccode\u003eDOTENV_CONFIG_QUIET=true\u003c/code\u003e in your environment or \u003ccode\u003e.env\u003c/code\u003e file to quiet the runtime log (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJust like dotenv any \u003ccode\u003eDOTENV_CONFIG_\u003c/code\u003e environment variables take precedence over any code set options like \u003ccode\u003e({quiet: false})\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ini\"\u003e\u003ccode\u003e# .env\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/motdotla/dotenv/commit/7bc16a41c9efd4cf4ab8a4614d0ace7fd240b27b\"\u003e\u003ccode\u003e7bc16a4\u003c/code\u003e\u003c/a\u003e 17.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/27303fd56321a166d698f0482e0f4d0c51e51c1e\"\u003e\u003ccode\u003e27303fd\u003c/code\u003e\u003c/a\u003e update README-es\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6379eb2cae43c27656df8d93509b2c14366811ec\"\u003e\u003ccode\u003e6379eb2\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/b6d7339fd085a290669af8e601331c13b4dd2920\"\u003e\u003ccode\u003eb6d7339\u003c/code\u003e\u003c/a\u003e fix spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/5febe352d4dd499bfaa73de808a56bf03a268b6b\"\u003e\u003ccode\u003e5febe35\u003c/code\u003e\u003c/a\u003e 17.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/f61f3832c438078fc5d6552f59fac0c0205eca98\"\u003e\u003ccode\u003ef61f383\u003c/code\u003e\u003c/a\u003e changelog 🪵\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/dec94ad828acba99e3a8570ecf12a1081f9c189c\"\u003e\u003ccode\u003edec94ad\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/485695052c82c26024fbb8568babb0770756dd06\"\u003e\u003ccode\u003e4856950\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6351887077957c5ee74c3528bccbf5512b184b2e\"\u003e\u003ccode\u003e6351887\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/23bd017381f1ab5e4fcdeaebe2e134aaef644a4c\"\u003e\u003ccode\u003e23bd017\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v16.6.1...v17.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.1 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.1...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/express` from 4.17.25 to 5.0.6\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/express\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/9c90752747e169904c44ea1b1bc61a636b9594db\"\u003e\u003ccode\u003e9c90752\u003c/code\u003e\u003c/a\u003e ci: setup oidc connect with npm for automatatic publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/e4477fabff4030274bbad571be8e00d87879a663\"\u003e\u003ccode\u003ee4477fa\u003c/code\u003e\u003c/a\u003e 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/06d73405db2c00b22332c5ac278b6bd1c82ebfbc\"\u003e\u003ccode\u003e06d7340\u003c/code\u003e\u003c/a\u003e docs: add changelog for 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/14e53888cdfd1b9798faf5b634c4206409e27fc4\"\u003e\u003ccode\u003e14e5388\u003c/code\u003e\u003c/a\u003e fix: handle ipv4 mapped to ipv6 (ghsa-46wh-pxpv-q5gq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/2767a954932d5811a66c786824980b0075d6e27a\"\u003e\u003ccode\u003e2767a95\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group across 1 directory w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/f400c7fdb73c217b791bf0c5da2f51a6cb6fc41b\"\u003e\u003ccode\u003ef400c7f\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 2 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/4e4884c45b41faf47f342234a44965cd5419eb4a\"\u003e\u003ccode\u003e4e4884c\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group across 1 directory w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/fadbccbf3732ebc9e08056ddbad39530a6391345\"\u003e\u003ccode\u003efadbccb\u003c/code\u003e\u003c/a\u003e formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/7b57b955990edbfcbfd28bb0db10510b0a32e947\"\u003e\u003ccode\u003e7b57b95\u003c/code\u003e\u003c/a\u003e biome migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/88a1f7f7912b7883a20facab674d778c7d020fb9\"\u003e\u003ccode\u003e88a1f7f\u003c/code\u003e\u003c/a\u003e docs: typo fix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.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/~gamemaker1\"\u003egamemaker1\u003c/a\u003e, a new releaser for express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eAttestation changes\u003c/summary\u003e\n\u003cp\u003eThis version has no provenance attestation, while the previous version (7.5.1) was attested. Review the \u003ca href=\"https://www.npmjs.com/package/express-rate-limit?activeTab=versions\"\u003epackage versions\u003c/a\u003e before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `node-cron` from 3.0.3 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/merencia/node-cron/releases\"\u003enode-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd option recoverMissedExecutions in readme by \u003ca href=\"https://github.com/theusmoreira\"\u003e\u003ccode\u003e@​theusmoreira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/332\"\u003enode-cron/node-cron#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: migrate to es6 and add how to get tasks in node-cron by \u003ca href=\"https://github.com/linder3hs\"\u003e\u003ccode\u003e@​linder3hs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/398\"\u003enode-cron/node-cron#398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev4 - migrating to typescript by \u003ca href=\"https://github.com/merencia\"\u003e\u003ccode\u003e@​merencia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/439\"\u003enode-cron/node-cron#439\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/theusmoreira\"\u003e\u003ccode\u003e@​theusmoreira\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/332\"\u003enode-cron/node-cron#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/linder3hs\"\u003e\u003ccode\u003e@​linder3hs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/398\"\u003enode-cron/node-cron#398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-cron/node-cron/compare/v3.0.3...v4.0.0\"\u003ehttps://github.com/node-cron/node-cron/compare/v3.0.3...v4.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/3c31384131ec990d9d9cbc08bee5793f2008c7b2\"\u003e\u003ccode\u003e3c31384\u003c/code\u003e\u003c/a\u003e v4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/6b27cb144e3c4b2dcc8a575093986d5bb727a987\"\u003e\u003ccode\u003e6b27cb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/merencia/node-cron/issues/471\"\u003e#471\u003c/a\u003e from GiovaniGuizzo/fix/windows-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/3c52b8785c38af72e9ae4f97570b8e37da966492\"\u003e\u003ccode\u003e3c52b87\u003c/code\u003e\u003c/a\u003e doc: added hack notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/50bfc82f7520b875f497fee3517755f6545b1727\"\u003e\u003ccode\u003e50bfc82\u003c/code\u003e\u003c/a\u003e fix: fixed interop of ESM and CJS on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/fb0c835b2d164aebcb40dc7c0c9cb0b93b1dee3c\"\u003e\u003ccode\u003efb0c835\u003c/code\u003e\u003c/a\u003e tests: added tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/no...\n\n_Description has been truncated_","html_url":"https://github.com/solun-pm/solun/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/solun-pm%2Fsolun/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"3974082298","node_id":"PR_kwDOJtNIAM7FcOaX","number":17,"state":"open","title":"chore(deps-dev): bump the development-dependencies group across 1 directory with 4 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-02-22T09:58:42.000Z","updated_at":"2026-02-22T09:58:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":4,"packages":[{"name":"@types/bcryptjs","old_version":"2.4.6","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.3","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"react-doctor","old_version":"0.0.28","new_version":"0.0.29","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.2.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 4 updates in the / directory: [@types/bcryptjs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcryptjs), [eslint](https://github.com/eslint/eslint), [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss).\n\nUpdates `@types/bcryptjs` from 2.4.6 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bcryptjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.3 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0bd54976080936ce080ee2552d504180105593b4\"\u003e\u003ccode\u003e0bd5497\u003c/code\u003e\u003c/a\u003e 10.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ddb80ef7c78adbc3fb784e33f500d321e84ab51e\"\u003e\u003ccode\u003eddb80ef\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20531\"\u003e#20531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20519\"\u003e#20519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20514\"\u003e#20514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20431\"\u003e#20431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20496\"\u003e#20496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20493\"\u003e#20493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20494\"\u003e#20494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.3...v10.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.28 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` from 3.4.19 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd mauve, olive, mist, and taupe color palettes to the default theme (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e package to run Tailwind CSS as a webpack plugin (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19610\"\u003e#19610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epbs-*\u003c/code\u003e and \u003ccode\u003epbe-*\u003c/code\u003e utilities for \u003ccode\u003epadding-block-start\u003c/code\u003e and \u003ccode\u003epadding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003embs-*\u003c/code\u003e and \u003ccode\u003embe-*\u003c/code\u003e utilities for \u003ccode\u003emargin-block-start\u003c/code\u003e and \u003ccode\u003emargin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-pbs-*\u003c/code\u003e and \u003ccode\u003escroll-pbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-padding-block-start\u003c/code\u003e and \u003ccode\u003escroll-padding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-mbs-*\u003c/code\u003e and \u003ccode\u003escroll-mbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-margin-block-start\u003c/code\u003e and \u003ccode\u003escroll-margin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eborder-bs-*\u003c/code\u003e and \u003ccode\u003eborder-be-*\u003c/code\u003e utilities for \u003ccode\u003eborder-block-start\u003c/code\u003e and \u003ccode\u003eborder-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einline-*\u003c/code\u003e, \u003ccode\u003emin-inline-*\u003c/code\u003e, \u003ccode\u003emax-inline-*\u003c/code\u003e utilities for \u003ccode\u003einline-size\u003c/code\u003e, \u003ccode\u003emin-inline-size\u003c/code\u003e, and \u003ccode\u003emax-inline-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eblock-*\u003c/code\u003e, \u003ccode\u003emin-block-*\u003c/code\u003e, \u003ccode\u003emax-block-*\u003c/code\u003e utilities for \u003ccode\u003eblock-size\u003c/code\u003e, \u003ccode\u003emin-block-size\u003c/code\u003e, and \u003ccode\u003emax-block-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einset-s-*\u003c/code\u003e, \u003ccode\u003einset-e-*\u003c/code\u003e, \u003ccode\u003einset-bs-*\u003c/code\u003e, \u003ccode\u003einset-be-*\u003c/code\u003e utilities for \u003ccode\u003einset-inline-start\u003c/code\u003e, \u003ccode\u003einset-inline-end\u003c/code\u003e, \u003ccode\u003einset-block-start\u003c/code\u003e, and \u003ccode\u003einset-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efont-features-*\u003c/code\u003e utility for \u003ccode\u003efont-feature-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19615\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent double \u003ccode\u003e@supports\u003c/code\u003e wrapper for \u003ccode\u003ecolor-mix\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19450\"\u003e#19450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow whitespace around \u003ccode\u003e@source inline()\u003c/code\u003e argument (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19461\"\u003e#19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit comment when source maps are saved to files when using \u003ccode\u003e@tailwindcss/cli\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19447\"\u003e#19447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect utilities containing capital letters followed by numbers (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19465\"\u003e#19465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix class extraction for Rails' strict locals (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19525\"\u003e#19525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlign \u003ccode\u003e@utility\u003c/code\u003e name validation with Oxide scanner rules (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19524\"\u003e#19524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite loop when using \u003ccode\u003e@variant\u003c/code\u003e inside \u003ccode\u003e@custom-variant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiples of \u003ccode\u003e.25\u003c/code\u003e in \u003ccode\u003easpect-*\u003c/code\u003e fractions (e.g. \u003ccode\u003easpect-8.5/11\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19688\"\u003e#19688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure changes to external files listed via \u003ccode\u003e@source\u003c/code\u003e trigger a full page reload when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19670\"\u003e#19670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance of Oxide scanner in bigger projects by reducing file system walks (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19632\"\u003e#19632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure import aliases in Astro v5 work without crashing when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/issues/19677\"\u003e#19677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow escape characters in \u003ccode\u003e@utility\u003c/code\u003e names to improve support with formatters such as Biome (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19626\"\u003e#19626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect canonicalization results when canonicalizing multiple times (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e.jj\u003c/code\u003e to default ignored content directories (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19687\"\u003e#19687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003estart-*\u003c/code\u003e and \u003ccode\u003eend-*\u003c/code\u003e utilities in favor of \u003ccode\u003einset-s-*\u003c/code\u003e and \u003ccode\u003einset-e-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure validation of \u003ccode\u003esource(…)\u003c/code\u003e happens relative to the file it is in (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19274\"\u003e#19274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude filename and line numbers in CSS parse errors (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19282\"\u003e#19282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip comments in Ruby files when checking for class names (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over arbitrary property utilities with a top-level \u003ccode\u003e!\u003c/code\u003e in the value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport environment API in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18970\"\u003e#18970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve case of theme keys from JS configs and plugins (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19337\"\u003e#19337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrite source maps correctly on the CLI when using \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19373\"\u003e#19373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle special defaults (like \u003ccode\u003eringColor.DEFAULT\u003c/code\u003e) in JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19348\"\u003e#19348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove backwards compatibility for \u003ccode\u003econtent\u003c/code\u003e theme key from JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19381\"\u003e#19381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: Handle \u003ccode\u003efuture\u003c/code\u003e and \u003ccode\u003eexperimental\u003c/code\u003e config keys (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19344\"\u003e#19344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTry to canonicalize any arbitrary utility to a bare value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19379\"\u003e#19379\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-02-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd mauve, olive, mist, and taupe color palettes to the default theme (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e package to run Tailwind CSS as a webpack plugin (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19610\"\u003e#19610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epbs-*\u003c/code\u003e and \u003ccode\u003epbe-*\u003c/code\u003e utilities for \u003ccode\u003epadding-block-start\u003c/code\u003e and \u003ccode\u003epadding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003embs-*\u003c/code\u003e and \u003ccode\u003embe-*\u003c/code\u003e utilities for \u003ccode\u003emargin-block-start\u003c/code\u003e and \u003ccode\u003emargin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-pbs-*\u003c/code\u003e and \u003ccode\u003escroll-pbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-padding-block-start\u003c/code\u003e and \u003ccode\u003escroll-padding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-mbs-*\u003c/code\u003e and \u003ccode\u003escroll-mbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-margin-block-start\u003c/code\u003e and \u003ccode\u003escroll-margin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eborder-bs-*\u003c/code\u003e and \u003ccode\u003eborder-be-*\u003c/code\u003e utilities for \u003ccode\u003eborder-block-start\u003c/code\u003e and \u003ccode\u003eborder-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einline-*\u003c/code\u003e, \u003ccode\u003emin-inline-*\u003c/code\u003e, \u003ccode\u003emax-inline-*\u003c/code\u003e utilities for \u003ccode\u003einline-size\u003c/code\u003e, \u003ccode\u003emin-inline-size\u003c/code\u003e, and \u003ccode\u003emax-inline-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eblock-*\u003c/code\u003e, \u003ccode\u003emin-block-*\u003c/code\u003e, \u003ccode\u003emax-block-*\u003c/code\u003e utilities for \u003ccode\u003eblock-size\u003c/code\u003e, \u003ccode\u003emin-block-size\u003c/code\u003e, and \u003ccode\u003emax-block-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einset-s-*\u003c/code\u003e, \u003ccode\u003einset-e-*\u003c/code\u003e, \u003ccode\u003einset-bs-*\u003c/code\u003e, \u003ccode\u003einset-be-*\u003c/code\u003e utilities for \u003ccode\u003einset-inline-start\u003c/code\u003e, \u003ccode\u003einset-inline-end\u003c/code\u003e, \u003ccode\u003einset-block-start\u003c/code\u003e, and \u003ccode\u003einset-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efont-features-*\u003c/code\u003e utility for \u003ccode\u003efont-feature-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19615\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent double \u003ccode\u003e@supports\u003c/code\u003e wrapper for \u003ccode\u003ecolor-mix\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19450\"\u003e#19450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow whitespace around \u003ccode\u003e@source inline()\u003c/code\u003e argument (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19461\"\u003e#19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit comment when source maps are saved to files when using \u003ccode\u003e@tailwindcss/cli\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19447\"\u003e#19447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect utilities containing capital letters followed by numbers (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19465\"\u003e#19465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix class extraction for Rails' strict locals (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19525\"\u003e#19525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlign \u003ccode\u003e@utility\u003c/code\u003e name validation with Oxide scanner rules (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19524\"\u003e#19524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite loop when using \u003ccode\u003e@variant\u003c/code\u003e inside \u003ccode\u003e@custom-variant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiples of \u003ccode\u003e.25\u003c/code\u003e in \u003ccode\u003easpect-*\u003c/code\u003e fractions (e.g. \u003ccode\u003easpect-8.5/11\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19688\"\u003e#19688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure changes to external files listed via \u003ccode\u003e@source\u003c/code\u003e trigger a full page reload when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19670\"\u003e#19670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance of Oxide scanner in bigger projects by reducing file system walks (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19632\"\u003e#19632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure import aliases in Astro v5 work without crashing when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/issues/19677\"\u003e#19677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow escape characters in \u003ccode\u003e@utility\u003c/code\u003e names to improve support with formatters such as Biome (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19626\"\u003e#19626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect canonicalization results when canonicalizing multiple times (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e.jj\u003c/code\u003e to default ignored content directories (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19687\"\u003e#19687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003estart-*\u003c/code\u003e and \u003ccode\u003eend-*\u003c/code\u003e utilities in favor of \u003ccode\u003einset-s-*\u003c/code\u003e and \u003ccode\u003einset-e-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.1.18] - 2025-12-11\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure validation of \u003ccode\u003esource(…)\u003c/code\u003e happens relative to the file it is in (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19274\"\u003e#19274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude filename and line numbers in CSS parse errors (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19282\"\u003e#19282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip comments in Ruby files when checking for class names (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over arbitrary property utilities with a top-level \u003ccode\u003e!\u003c/code\u003e in the value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport environment API in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18970\"\u003e#18970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve case of theme keys from JS configs and plugins (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19337\"\u003e#19337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrite source maps correctly on the CLI when using \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19373\"\u003e#19373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle special defaults (like \u003ccode\u003eringColor.DEFAULT\u003c/code\u003e) in JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19348\"\u003e#19348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove backwards compatibility for \u003ccode\u003econtent\u003c/code\u003e theme key from JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19381\"\u003e#19381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1b16411919457ee47d38910fd07e134e9765eb4c\"\u003e\u003ccode\u003e1b16411\u003c/code\u003e\u003c/a\u003e 4.2.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19695\"\u003e#19695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/6118f4f6a796ece218d145b626770e3fb9163d91\"\u003e\u003ccode\u003e6118f4f\u003c/code\u003e\u003c/a\u003e Fix/misc docs and tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19652\"\u003e#19652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a4a7eba3a3db4f4a834f37a3e37624fe9c4daa7\"\u003e\u003ccode\u003e5a4a7eb\u003c/code\u003e\u003c/a\u003e fix(canonicalize): prevent collapse cache pollution across calls (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d0a56128721b7be01703b7879056f38443239fc5\"\u003e\u003ccode\u003ed0a5612\u003c/code\u003e\u003c/a\u003e Add mauve, olive, mist, and taupe color palettes (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d9fff9f5956433e362dc231ca16dcd77497def76\"\u003e\u003ccode\u003ed9fff9f\u003c/code\u003e\u003c/a\u003e docs: update package README CI badge to main (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19692\"\u003e#19692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/ed52d3e6c9c20ca2a1c23d57d346ac399ebe9400\"\u003e\u003ccode\u003eed52d3e\u003c/code\u003e\u003c/a\u003e feat: handle backslash in \u003ccode\u003e@utility\u003c/code\u003e name (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19626\"\u003e#19626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/6eb3b324340f451a14389b7ed97f43a264ad4487\"\u003e\u003ccode\u003e6eb3b32\u003c/code\u003e\u003c/a\u003e Allow multiples of \u003ccode\u003e.25\u003c/code\u003e in \u003ccode\u003easpect-*\u003c/code\u003e fractions (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19688\"\u003e#19688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/8ed67bf5510d8435d2be766b25245abe15b3bcef\"\u003e\u003ccode\u003e8ed67bf\u003c/code\u003e\u003c/a\u003e Fix Tailwind CSS package README GitHub links (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19644\"\u003e#19644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1638f35c3a2bfcd65a7b3b0f8626927a76bcf685\"\u003e\u003ccode\u003e1638f35\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19608\"\u003e#19608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/df96ea5eba94c801a08879cf95837b8a2b317b42\"\u003e\u003ccode\u003edf96ea5\u003c/code\u003e\u003c/a\u003e Fix infinite loop when using \u003ccode\u003e@variant\u003c/code\u003e inside \u003ccode\u003e@custom-variant\u003c/code\u003e that points ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.0/packages/tailwindcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for tailwindcss since your current version.\u003c/p\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/gr8monk3ys/InfiniStar/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gr8monk3ys%2FInfiniStar/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}],"issue_packages":[{"old_version":"0.7.8","new_version":"0.8.3","update_type":"minor","path":null,"pr_created_at":"2026-07-21T17:24:27.000Z","version_change":"0.7.8 → 0.8.3","issue":{"uuid":"4941431230","node_id":"PR_kwDOBgsnn870e9Wz","number":11915,"state":"open","title":"chore(deps-dev): bump the dependencies group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","javascript","size:XS"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-21T17:24:27.000Z","updated_at":"2026-07-21T17:26:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"dependencies","update_count":4,"packages":[{"name":"@testing-library/jest-dom","old_version":"6.9.1","new_version":"7.0.0","repository_url":"https://github.com/testing-library/jest-dom"},{"name":"happy-dom","old_version":"20.10.6","new_version":"20.11.0","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"lint-staged","old_version":"17.0.8","new_version":"17.1.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"react-doctor","old_version":"0.7.8","new_version":"0.8.3","repository_url":"https://github.com/millionco/react-doctor"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 4 updates in the / directory: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom), [happy-dom](https://github.com/capricorn86/happy-dom), [lint-staged](https://github.com/lint-staged/lint-staged) and [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor).\n\nUpdates `@testing-library/jest-dom` from 6.9.1 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testing-library/jest-dom/releases\"\u003e@​testing-library/jest-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.0.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/compare/v6.10.0...v7.0.0\"\u003e7.0.0\u003c/a\u003e (2026-07-20)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd toContainAnyBy* and toContainOneBy* query matchers (\u003ca href=\"https://github.com/testing-library/jest-dom/commit/1e39089d850408a583c83495d00d8aa27078933f\"\u003e1e39089\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBREAKING CHANGES\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​testing-library/dom\u003c/code\u003e is now a required peer dependency. The minimum supported\nNode.js version is now 22.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRepaired release for \u003ca href=\"https://redirect.github.com/testing-library/jest-dom/pull/731\"\u003etesting-library/jest-dom#731\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev6.10.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/compare/v6.9.1...v6.10.0\"\u003e6.10.0\u003c/a\u003e (2026-07-20)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd toContainAnyBy* and toContainOneBy* query matchers (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/731\"\u003e#731\u003c/a\u003e) (\u003ca href=\"https://github.com/testing-library/jest-dom/commit/cae44df901cf8e92e3febc0af6fa667b10be6d6a\"\u003ecae44df\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/testing-library/jest-dom/commit/1e39089d850408a583c83495d00d8aa27078933f\"\u003e\u003ccode\u003e1e39089\u003c/code\u003e\u003c/a\u003e feat: add toContainAnyBy* and toContainOneBy* query matchers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/commit/cae44df901cf8e92e3febc0af6fa667b10be6d6a\"\u003e\u003ccode\u003ecae44df\u003c/code\u003e\u003c/a\u003e feat: add toContainAnyBy* and toContainOneBy* query matchers (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/731\"\u003e#731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/commit/55c07ce5f1c489b5b9dc31a770a84d83a1178072\"\u003e\u003ccode\u003e55c07ce\u003c/code\u003e\u003c/a\u003e ci: switch release to npm trusted publishing (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/726\"\u003e#726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testing-library/jest-dom/commit/213256fa8e0aff45e47920a0bc564f708d1f67de\"\u003e\u003ccode\u003e213256f\u003c/code\u003e\u003c/a\u003e docs: move toHaveSelection from the deprecated section (\u003ca href=\"https://redirect.github.com/testing-library/jest-dom/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/testing-library/jest-dom/compare/v6.9.1...v7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for \u003ccode\u003e@​testing-library/jest-dom\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `happy-dom` from 20.10.6 to 20.11.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/capricorn86/happy-dom/releases\"\u003ehappy-dom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.11.0\u003c/h2\u003e\n\u003ch3\u003e:art: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/Cookie_Store_API\"\u003eCookieStore API\u003c/a\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/TrevorBurnham\"\u003e\u003ccode\u003e@​TrevorBurnham\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1864\"\u003e#1864\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdds support for \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/Element/checkVisibility\"\u003eElement.checkVisibility()\u003c/a\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1506\"\u003e#1506\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/capricorn86/happy-dom/commit/bffe73a33fb35a283fe42b95e4391e274283415b\"\u003e\u003ccode\u003ebffe73a\u003c/code\u003e\u003c/a\u003e chore: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2243\"\u003e#2243\u003c/a\u003e Fixes problem with canvas in release build (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2245\"\u003e#2245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/9b46f5e6757bd775331f1b7b2b555f7c9a90b672\"\u003e\u003ccode\u003e9b46f5e\u003c/code\u003e\u003c/a\u003e chore: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2243\"\u003e#2243\u003c/a\u003e Fixes problem with canvas in release build (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2244\"\u003e#2244\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/f9c57a55d8984aab2a73934e8a54d48e5e439a41\"\u003e\u003ccode\u003ef9c57a5\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1864\"\u003e#1864\u003c/a\u003e Adds support for CookieStore API (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2040\"\u003e#2040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/a4c4faf028f82de8eae4719327e8bb0a0be07fa9\"\u003e\u003ccode\u003ea4c4faf\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1506\"\u003e#1506\u003c/a\u003e Adds support for Element checkVisibility (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2223\"\u003e#2223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/capricorn86/happy-dom/compare/v20.10.6...v20.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 17.0.8 to 17.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.1.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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7\"\u003e\u003ccode\u003e7568d4f\u003c/code\u003e\u003c/a\u003e - The console output of \u003cem\u003elint-staged\u003c/em\u003e has been simplified so that there's less interactive spinners and more explicit messages like \u003cem\u003e\u0026quot;Started…\u003c/em\u003e\u0026quot; -\u0026gt; \u0026quot;\u003cem\u003eDone!\u003c/em\u003e\u0026quot;. The primary purpose of this was to remove \u003ca href=\"https://github.com/listr2/listr2\"\u003e\u003ccode\u003eListr2\u003c/code\u003e\u003c/a\u003e, a very large dependency.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBefore:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e1561.7 kB\u003c/code\u003e with 29 packages.\u003c/p\u003e\n\u003cp\u003eFancy interactive spinners, but output dynamically changes:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e✔ Backed up original state in git stash (0b191303)\n✔ Running tasks for staged files...\n✔ Staging changes from tasks...\n✔ Cleaning up temporary files...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAfter:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e974.0 kB\u003c/code\u003e with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).\u003c/p\u003e\n\u003cp\u003eSimpler but more explicit output:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e⋯ Backing up original state…\n✔ Done backing up original state (35b38ed1)!\n⋯ Running tasks for staged files…\n    *.js — 1 file\n      ⋯ oxlint --fix\n    *.{json,md} — 1 file\n      ⋯ oxfmt --write\n\u003cp\u003e✔ oxfmt --write\u003cbr /\u003e\n✔ oxlint --fix\u003c/p\u003e\n\u003cp\u003e✔ Done running tasks for staged files!\u003cbr /\u003e\n⋯ Staging changes from tasks…\u003cbr /\u003e\n✔ Done staging changes from tasks!\u003cbr /\u003e\n⋯ Cleaning up temporary files…\u003cbr /\u003e\n✔ Done cleaning up temporary files!\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c19079d808d557b538c34fe69381d2ef970c7acc\"\u003e\u003ccode\u003ec19079d\u003c/code\u003e\u003c/a\u003e - Try to restore hidden unstaged changes when using \u003ccode\u003e--no-revert\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1818\"\u003e#1818\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8\"\u003e\u003ccode\u003eefb23a2\u003c/code\u003e\u003c/a\u003e - Console output colors are enabled/disabled more consistently.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1818\"\u003e#1818\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/26112a19151f9678861d51ea7416e9f9bef24bbb\"\u003e\u003ccode\u003e26112a1\u003c/code\u003e\u003c/a\u003e - Failed JS function tasks now properly kill other tasks, unless \u003ccode\u003e--continue-on-error\u003c/code\u003e is used. Previously their failure didn't affect other tasks.\u003c/p\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/lint-staged/lint-staged/blob/main/CHANGELOG.md\"\u003elint-staged's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e17.1.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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/7568d4fb15ba3c3317a7aec36195461cb2f272d7\"\u003e\u003ccode\u003e7568d4f\u003c/code\u003e\u003c/a\u003e - The console output of \u003cem\u003elint-staged\u003c/em\u003e has been simplified so that there's less interactive spinners and more explicit messages like \u003cem\u003e\u0026quot;Started…\u003c/em\u003e\u0026quot; -\u0026gt; \u0026quot;\u003cem\u003eDone!\u003c/em\u003e\u0026quot;. The primary purpose of this was to remove \u003ca href=\"https://github.com/listr2/listr2\"\u003e\u003ccode\u003eListr2\u003c/code\u003e\u003c/a\u003e, a very large dependency.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBefore:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e1561.7 kB\u003c/code\u003e with 29 packages.\u003c/p\u003e\n\u003cp\u003eFancy interactive spinners, but output dynamically changes:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e✔ Backed up original state in git stash (0b191303)\n✔ Running tasks for staged files...\n✔ Staging changes from tasks...\n✔ Cleaning up temporary files...\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAfter:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eSize of \u003ccode\u003enode_modules/\u003c/code\u003e after installing: \u003ccode\u003e974.0 kB\u003c/code\u003e with 5 packages (37.6 % smaller, 82.7 % less transitive dependencies).\u003c/p\u003e\n\u003cp\u003eSimpler but more explicit output:\u003c/p\u003e\n\u003cpre lang=\"shell\"\u003e\u003ccode\u003e⋯ Backing up original state…\n✔ Done backing up original state (35b38ed1)!\n⋯ Running tasks for staged files…\n    *.js — 1 file\n      ⋯ oxlint --fix\n    *.{json,md} — 1 file\n      ⋯ oxfmt --write\n\u003cp\u003e✔ oxfmt --write\u003cbr /\u003e\n✔ oxlint --fix\u003c/p\u003e\n\u003cp\u003e✔ Done running tasks for staged files!\u003cbr /\u003e\n⋯ Staging changes from tasks…\u003cbr /\u003e\n✔ Done staging changes from tasks!\u003cbr /\u003e\n⋯ Cleaning up temporary files…\u003cbr /\u003e\n✔ Done cleaning up temporary files!\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\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/lint-staged/lint-staged/pull/1816\"\u003e#1816\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/c19079d808d557b538c34fe69381d2ef970c7acc\"\u003e\u003ccode\u003ec19079d\u003c/code\u003e\u003c/a\u003e - Try to restore hidden unstaged changes when using \u003ccode\u003e--no-revert\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1818\"\u003e#1818\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8\"\u003e\u003ccode\u003eefb23a2\u003c/code\u003e\u003c/a\u003e - Console output colors are enabled/disabled more consistently.\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/lint-staged/lint-staged/commit/dd5a95fdb3a70601fdb69a618c1a3c6c3a2286e2\"\u003e\u003ccode\u003edd5a95f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1817\"\u003e#1817\u003c/a\u003e from lint-staged/changeset-release/main\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/aad7f3b14392fd01c482fb71303ecb5d641cf26e\"\u003e\u003ccode\u003eaad7f3b\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/11b1d5c3e503eb2be5f93c7db15bb9f83091c455\"\u003e\u003ccode\u003e11b1d5c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1818\"\u003e#1818\u003c/a\u003e from lint-staged/fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/efb23a25075d980db9edabd2f71e769fc97d48c8\"\u003e\u003ccode\u003eefb23a2\u003c/code\u003e\u003c/a\u003e fix: enable colors globally based on option\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/26112a19151f9678861d51ea7416e9f9bef24bbb\"\u003e\u003ccode\u003e26112a1\u003c/code\u003e\u003c/a\u003e fix: function task failure kills other tasks, unless \u003ccode\u003e--continue-on-error\u003c/code\u003e wa...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/9b98b7f02921f59294171368d0e87dc6c3ce22c0\"\u003e\u003ccode\u003e9b98b7f\u003c/code\u003e\u003c/a\u003e fix: handle error when calculating hash of unstaged changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/d43432b0b64415468ba853e84557b6d662155475\"\u003e\u003ccode\u003ed43432b\u003c/code\u003e\u003c/a\u003e fix: do not allow NaN concurrency\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/bd4dcbf0ed22a655386a29ac98c5ed4296d6b354\"\u003e\u003ccode\u003ebd4dcbf\u003c/code\u003e\u003c/a\u003e fix: do not drop backup stash when restoring unstaged changes fails and using...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/9153a77b55e410b43b0d05d4b1aea2078a22339d\"\u003e\u003ccode\u003e9153a77\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/issues/1816\"\u003e#1816\u003c/a\u003e from lint-staged/replace-listr2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/290e618d1e0686d6b82a91c8716de3d4bf850691\"\u003e\u003ccode\u003e290e618\u003c/code\u003e\u003c/a\u003e refactor: use common identity function\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v17.0.8...v17.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.7.8 to 0.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.8.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8d4d5a82d945a02efec4a4fe033b8851df3b6729\"\u003e\u003ccode\u003e8d4d5a8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Remove extraneous usage copy from the package README.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.8.3\u003c/li\u003e\n\u003cli\u003edeslop-js@0.8.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.8.2\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/millionco/react-doctor/pull/1419\"\u003e#1419\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c4959bb7400a6d5f21cc35a8d54d0ed7faf6971\"\u003e\u003ccode\u003e8c4959b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Correct false positives and false negatives found by an all-rules 2,000-project parity audit. Tighten project capability detection, browser-target compatibility, React Compiler configuration reachability, Tailwind conflict handling, JSX attribute ordering, accessible-name evidence, server-action provenance, state/effect execution analysis, image and motion evidence, and framework export handling.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1337\"\u003e#1337\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/0b0b5ac52301cbfbb5abdffe4d0d9bf673325a94\"\u003e\u003ccode\u003e0b0b5ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add deterministic design-quality lint rules spanning motion performance, accessibility, and Tailwind/JSX hygiene.\u003c/p\u003e\n\u003cp\u003eAdd \u003ccode\u003ereact-doctor design [directory]\u003c/code\u003e for a focused UI audit. The command runs the complete design-rule bucket plus other explicitly design-tagged rules, deliberately activates that family's focused opt-in diagnostics, respects explicit per-rule disablements, and skips unrelated analyzers, external lint configuration, custom plugins, and health scoring.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMotion\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-create-in-render\u003c/code\u003e\u003c/strong\u003e — Motion component factories executed during a component or custom-hook render, including synchronous iteration callbacks. Module scope, event/effect callbacks, and stable React initializers remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-constructor-in-render\u003c/code\u003e\u003c/strong\u003e — manual \u003ccode\u003emotionValue()\u003c/code\u003e objects recreated during React render. Recommends \u003ccode\u003euseMotionValue()\u003c/code\u003e while preserving module-scope and explicitly stabilized values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-use-transform-range-length\u003c/code\u003e\u003c/strong\u003e — statically provable \u003ccode\u003euseTransform()\u003c/code\u003e input and output arrays with different lengths. Aliased and namespace imports are resolved; dynamic and spread-backed ranges are skipped.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-keyframe-times-mismatch\u003c/code\u003e\u003c/strong\u003e — static Motion keyframe arrays whose transition \u003ccode\u003etimes\u003c/code\u003e count does not match the keyframe count, including transition objects nested inside \u003ccode\u003eanimate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-subscription-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003e.on()\u003c/code\u003e subscriptions attached to proven hook-created Motion values during render. Effect/event subscriptions and \u003ccode\u003euseMotionValueEvent()\u003c/code\u003e remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-imperative-animation-in-render\u003c/code\u003e\u003c/strong\u003e — imperative \u003ccode\u003eanimate()\u003c/code\u003e calls, animation-control starts, and Motion-value writes executed during React render. Resolves imported APIs, aliases, and \u003ccode\u003euseAnimate()\u003c/code\u003e tuple bindings while preserving effects, event handlers, deferred callbacks, and userland lookalikes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-animate-presence-must-outlive-child\u003c/code\u003e\u003c/strong\u003e — presence boundaries removed by the same condition as an exit-bearing child, which prevents Motion from observing the child leave. Stable outer boundaries, correctly propagated nested boundaries, and JSX hidden inside uninvoked callbacks remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-unstable-layout-id-in-iteration\u003c/code\u003e\u003c/strong\u003e — repeated literal or index-derived \u003ccode\u003elayoutId\u003c/code\u003e values inside \u003ccode\u003emap()\u003c/code\u003e and \u003ccode\u003eflatMap()\u003c/code\u003e callbacks. Stable item-derived IDs, conditional shared markers, and item-scoped layout groups remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-layout-on-inline-element\u003c/code\u003e\u003c/strong\u003e — proven Motion layout animations attached to an explicitly inline element, where transform-based layout animation cannot take effect. Static inline styles and unvariant Tailwind display utilities are resolved with CSS precedence.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-drag-axis-constraint-mismatch\u003c/code\u003e\u003c/strong\u003e — x-axis drags constrained only by vertical bounds, y-axis drags constrained only by horizontal bounds, and statically inverted numeric intervals. Refs, dynamic objects, spreads, and userland lookalikes remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewaapi-animation-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eElement.animate()\u003c/code\u003e calls on proven DOM receivers during component or custom-hook render, including synchronous callbacks and memo initializers. Effects, handlers, deferred work, module scope, and userland methods remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eweb-animation-offsets-valid\u003c/code\u003e\u003c/strong\u003e — Web Animations keyframe offsets outside \u003ccode\u003e[0, 1]\u003c/code\u003e or in descending order, across array-form and property-indexed keyframes. Equal, missing, null, dynamic, and spread-backed offsets remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-conflicting-spring-options\u003c/code\u003e\u003c/strong\u003e — proven Motion transition objects that combine physics spring controls (\u003ccode\u003estiffness\u003c/code\u003e, \u003ccode\u003edamping\u003c/code\u003e, or \u003ccode\u003emass\u003c/code\u003e) with duration controls (\u003ccode\u003eduration\u003c/code\u003e or \u003ccode\u003ebounce\u003c/code\u003e) that Motion ignores. Handles direct and nested transition objects while skipping dynamic and spread-overridden configurations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eprefer-motion-transform-property\u003c/code\u003e\u003c/strong\u003e — opt-in guidance for compositor-critical Motion animations that use individual transform keys instead of one directly accelerated \u003ccode\u003etransform\u003c/code\u003e value. Scope resolution limits findings to actual Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epointer-capture-needs-cancel-handler\u003c/code\u003e\u003c/strong\u003e — manual intrinsic-element drags that capture their pointer and define move/up handling without a pointer-cancel or lost-capture cleanup path. Requires a proven local \u003ccode\u003eevent.currentTarget.setPointerCapture(event.pointerId)\u003c/code\u003e call and skips spreads, custom components, nested callbacks, and uncertain handlers.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unthrottled-scroll-mutation\u003c/code\u003e\u003c/strong\u003e — direct animation-style writes or \u003ccode\u003eElement.animate()\u003c/code\u003e calls from an unthrottled native scroll listener. Read-only handlers, small class toggles, non-animation style changes, timer throttles, and unknown emitters remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unbounded-animation-frame-loop\u003c/code\u003e\u003c/strong\u003e — opt-in detection for a self-rescheduling \u003ccode\u003erequestAnimationFrame\u003c/code\u003e callback with no stop gate and no retained request ID.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-layout-property-animation\u003c/code\u003e\u003c/strong\u003e (extended) — now inspects statically provable Web Animations API keyframes in addition to Motion props.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-large-animated-blur\u003c/code\u003e\u003c/strong\u003e (extended) — now covers Motion and Web Animations keyframes while no longer misclassifying a static inline blur as animation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-permanent-will-change\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes permanently active static Tailwind \u003ccode\u003ewill-change-*\u003c/code\u003e utilities while preserving state-prefixed and scroll-position cases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-global-css-variable-animation\u003c/code\u003e\u003c/strong\u003e (narrowed) — reports animated variables only on the document root or body, avoiding false positives for variables deliberately scoped to one element.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-transition-all\u003c/code\u003e\u003c/strong\u003e (extended) — now also flags the Tailwind \u003ccode\u003etransition-all\u003c/code\u003e class (was inline-\u003ccode\u003estyle\u003c/code\u003e-only). Animating every property that changes includes expensive layout properties and instant ones like focus rings; name the properties (\u003ccode\u003etransition-colors\u003c/code\u003e, \u003ccode\u003etransition-transform\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-tailwind-layout-transition\u003c/code\u003e\u003c/strong\u003e — Tailwind arbitrary \u003ccode\u003etransition-[width|height|top|left|right|bottom|margin|padding]\u003c/code\u003e, which animates layout properties the browser recomputes every frame. Animate \u003ccode\u003etransform\u003c/code\u003e/\u003ccode\u003eopacity\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-ease-in-motion\u003c/code\u003e\u003c/strong\u003e — exact inline, Motion, and Tailwind \u003ccode\u003eease-in\u003c/code\u003e timing that delays the visible response, including transition configuration nested inside static Motion animation targets; preserves \u003ccode\u003eease-in-out\u003c/code\u003e and dynamic timing values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-long-transition-duration\u003c/code\u003e\u003c/strong\u003e (extended) — now covers static Motion transition objects, including nested transition configuration, while preserving perpetual loops, decorative hidden motion, dynamic values, unproven components, and duration values ignored by physics-based springs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-scale-from-zero\u003c/code\u003e\u003c/strong\u003e (extended) — now covers inline transform transitions and Tailwind scale transitions in addition to proven Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-excessive-motion-stagger\u003c/code\u003e\u003c/strong\u003e — opt-in detection for proven Motion stagger intervals above 80 ms, including \u003ccode\u003estaggerChildren\u003c/code\u003e and scope-resolved \u003ccode\u003estagger()\u003c/code\u003e calls used by \u003ccode\u003edelayChildren\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-hover-only-reveal\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes statically hidden Motion opacity states revealed by \u003ccode\u003ewhileHover\u003c/code\u003e without an equivalent \u003ccode\u003ewhileFocus\u003c/code\u003e state, in addition to Tailwind hover utilities.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eAccessibility\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8d4d5a82d945a02efec4a4fe033b8851df3b6729\"\u003e\u003ccode\u003e8d4d5a8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Remove extraneous usage copy from the package README.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.8.3\u003c/li\u003e\n\u003cli\u003edeslop-js@0.8.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.8.2\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/millionco/react-doctor/pull/1419\"\u003e#1419\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c4959bb7400a6d5f21cc35a8d54d0ed7faf6971\"\u003e\u003ccode\u003e8c4959b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Correct false positives and false negatives found by an all-rules 2,000-project parity audit. Tighten project capability detection, browser-target compatibility, React Compiler configuration reachability, Tailwind conflict handling, JSX attribute ordering, accessible-name evidence, server-action provenance, state/effect execution analysis, image and motion evidence, and framework export handling.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1337\"\u003e#1337\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/0b0b5ac52301cbfbb5abdffe4d0d9bf673325a94\"\u003e\u003ccode\u003e0b0b5ac\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add deterministic design-quality lint rules spanning motion performance, accessibility, and Tailwind/JSX hygiene.\u003c/p\u003e\n\u003cp\u003eAdd \u003ccode\u003ereact-doctor design [directory]\u003c/code\u003e for a focused UI audit. The command runs the complete design-rule bucket plus other explicitly design-tagged rules, deliberately activates that family's focused opt-in diagnostics, respects explicit per-rule disablements, and skips unrelated analyzers, external lint configuration, custom plugins, and health scoring.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMotion\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-create-in-render\u003c/code\u003e\u003c/strong\u003e — Motion component factories executed during a component or custom-hook render, including synchronous iteration callbacks. Module scope, event/effect callbacks, and stable React initializers remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-constructor-in-render\u003c/code\u003e\u003c/strong\u003e — manual \u003ccode\u003emotionValue()\u003c/code\u003e objects recreated during React render. Recommends \u003ccode\u003euseMotionValue()\u003c/code\u003e while preserving module-scope and explicitly stabilized values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-use-transform-range-length\u003c/code\u003e\u003c/strong\u003e — statically provable \u003ccode\u003euseTransform()\u003c/code\u003e input and output arrays with different lengths. Aliased and namespace imports are resolved; dynamic and spread-backed ranges are skipped.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-keyframe-times-mismatch\u003c/code\u003e\u003c/strong\u003e — static Motion keyframe arrays whose transition \u003ccode\u003etimes\u003c/code\u003e count does not match the keyframe count, including transition objects nested inside \u003ccode\u003eanimate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-value-subscription-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003e.on()\u003c/code\u003e subscriptions attached to proven hook-created Motion values during render. Effect/event subscriptions and \u003ccode\u003euseMotionValueEvent()\u003c/code\u003e remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-imperative-animation-in-render\u003c/code\u003e\u003c/strong\u003e — imperative \u003ccode\u003eanimate()\u003c/code\u003e calls, animation-control starts, and Motion-value writes executed during React render. Resolves imported APIs, aliases, and \u003ccode\u003euseAnimate()\u003c/code\u003e tuple bindings while preserving effects, event handlers, deferred callbacks, and userland lookalikes.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-animate-presence-must-outlive-child\u003c/code\u003e\u003c/strong\u003e — presence boundaries removed by the same condition as an exit-bearing child, which prevents Motion from observing the child leave. Stable outer boundaries, correctly propagated nested boundaries, and JSX hidden inside uninvoked callbacks remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-unstable-layout-id-in-iteration\u003c/code\u003e\u003c/strong\u003e — repeated literal or index-derived \u003ccode\u003elayoutId\u003c/code\u003e values inside \u003ccode\u003emap()\u003c/code\u003e and \u003ccode\u003eflatMap()\u003c/code\u003e callbacks. Stable item-derived IDs, conditional shared markers, and item-scoped layout groups remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-layout-on-inline-element\u003c/code\u003e\u003c/strong\u003e — proven Motion layout animations attached to an explicitly inline element, where transform-based layout animation cannot take effect. Static inline styles and unvariant Tailwind display utilities are resolved with CSS precedence.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003emotion-drag-axis-constraint-mismatch\u003c/code\u003e\u003c/strong\u003e — x-axis drags constrained only by vertical bounds, y-axis drags constrained only by horizontal bounds, and statically inverted numeric intervals. Refs, dynamic objects, spreads, and userland lookalikes remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewaapi-animation-in-render\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eElement.animate()\u003c/code\u003e calls on proven DOM receivers during component or custom-hook render, including synchronous callbacks and memo initializers. Effects, handlers, deferred work, module scope, and userland methods remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eweb-animation-offsets-valid\u003c/code\u003e\u003c/strong\u003e — Web Animations keyframe offsets outside \u003ccode\u003e[0, 1]\u003c/code\u003e or in descending order, across array-form and property-indexed keyframes. Equal, missing, null, dynamic, and spread-backed offsets remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-conflicting-spring-options\u003c/code\u003e\u003c/strong\u003e — proven Motion transition objects that combine physics spring controls (\u003ccode\u003estiffness\u003c/code\u003e, \u003ccode\u003edamping\u003c/code\u003e, or \u003ccode\u003emass\u003c/code\u003e) with duration controls (\u003ccode\u003eduration\u003c/code\u003e or \u003ccode\u003ebounce\u003c/code\u003e) that Motion ignores. Handles direct and nested transition objects while skipping dynamic and spread-overridden configurations.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eprefer-motion-transform-property\u003c/code\u003e\u003c/strong\u003e — opt-in guidance for compositor-critical Motion animations that use individual transform keys instead of one directly accelerated \u003ccode\u003etransform\u003c/code\u003e value. Scope resolution limits findings to actual Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003epointer-capture-needs-cancel-handler\u003c/code\u003e\u003c/strong\u003e — manual intrinsic-element drags that capture their pointer and define move/up handling without a pointer-cancel or lost-capture cleanup path. Requires a proven local \u003ccode\u003eevent.currentTarget.setPointerCapture(event.pointerId)\u003c/code\u003e call and skips spreads, custom components, nested callbacks, and uncertain handlers.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unthrottled-scroll-mutation\u003c/code\u003e\u003c/strong\u003e — direct animation-style writes or \u003ccode\u003eElement.animate()\u003c/code\u003e calls from an unthrottled native scroll listener. Read-only handlers, small class toggles, non-animation style changes, timer throttles, and unknown emitters remain valid.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-unbounded-animation-frame-loop\u003c/code\u003e\u003c/strong\u003e — opt-in detection for a self-rescheduling \u003ccode\u003erequestAnimationFrame\u003c/code\u003e callback with no stop gate and no retained request ID.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-layout-property-animation\u003c/code\u003e\u003c/strong\u003e (extended) — now inspects statically provable Web Animations API keyframes in addition to Motion props.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-large-animated-blur\u003c/code\u003e\u003c/strong\u003e (extended) — now covers Motion and Web Animations keyframes while no longer misclassifying a static inline blur as animation.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-permanent-will-change\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes permanently active static Tailwind \u003ccode\u003ewill-change-*\u003c/code\u003e utilities while preserving state-prefixed and scroll-position cases.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-global-css-variable-animation\u003c/code\u003e\u003c/strong\u003e (narrowed) — reports animated variables only on the document root or body, avoiding false positives for variables deliberately scoped to one element.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-transition-all\u003c/code\u003e\u003c/strong\u003e (extended) — now also flags the Tailwind \u003ccode\u003etransition-all\u003c/code\u003e class (was inline-\u003ccode\u003estyle\u003c/code\u003e-only). Animating every property that changes includes expensive layout properties and instant ones like focus rings; name the properties (\u003ccode\u003etransition-colors\u003c/code\u003e, \u003ccode\u003etransition-transform\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-tailwind-layout-transition\u003c/code\u003e\u003c/strong\u003e — Tailwind arbitrary \u003ccode\u003etransition-[width|height|top|left|right|bottom|margin|padding]\u003c/code\u003e, which animates layout properties the browser recomputes every frame. Animate \u003ccode\u003etransform\u003c/code\u003e/\u003ccode\u003eopacity\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-ease-in-motion\u003c/code\u003e\u003c/strong\u003e — exact inline, Motion, and Tailwind \u003ccode\u003eease-in\u003c/code\u003e timing that delays the visible response, including transition configuration nested inside static Motion animation targets; preserves \u003ccode\u003eease-in-out\u003c/code\u003e and dynamic timing values.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-long-transition-duration\u003c/code\u003e\u003c/strong\u003e (extended) — now covers static Motion transition objects, including nested transition configuration, while preserving perpetual loops, decorative hidden motion, dynamic values, unproven components, and duration values ignored by physics-based springs.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-scale-from-zero\u003c/code\u003e\u003c/strong\u003e (extended) — now covers inline transform transitions and Tailwind scale transitions in addition to proven Motion components.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-excessive-motion-stagger\u003c/code\u003e\u003c/strong\u003e — opt-in detection for proven Motion stagger intervals above 80 ms, including \u003ccode\u003estaggerChildren\u003c/code\u003e and scope-resolved \u003ccode\u003estagger()\u003c/code\u003e calls used by \u003ccode\u003edelayChildren\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eno-hover-only-reveal\u003c/code\u003e\u003c/strong\u003e (extended) — now recognizes statically hidden Motion opacity states revealed by \u003ccode\u003ewhileHover\u003c/code\u003e without an equivalent \u003ccode\u003ewhileFocus\u003c/code\u003e state, in addition to Tailwind hover utilities.\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/millionco/react-doctor/commit/84b999002a2e5c06a6e7538d195bcbd844e909f1\"\u003e\u003ccode\u003e84b9990\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1420\"\u003e#1420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8d4d5a82d945a02efec4a4fe033b8851df3b6729\"\u003e\u003ccode\u003e8d4d5a8\u003c/code\u003e\u003c/a\u003e docs: simplify package README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/d489fa081aed039411c7d20a14022cef76b9a0cb\"\u003e\u003ccode\u003ed489fa0\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1382\"\u003e#1382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8c4959bb7400a6d5f21cc35a8d54d0ed7faf6971\"\u003e\u003ccode\u003e8c4959b\u003c/code\u003e\u003c/a\u003e fix(rules): harden parity diagnostics (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/fc1b3a3984e5993c1eb25478cf1c154d3d4ceddc\"\u003e\u003ccode\u003efc1b3a3\u003c/code\u003e\u003c/a\u003e feat(rules): add version-gated Ink diagnostics (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/0b0b5ac52301cbfbb5abdffe4d0d9bf673325a94\"\u003e\u003ccode\u003e0b0b5ac\u003c/code\u003e\u003c/a\u003e feat(rules): add deterministic UI, accessibility, and animation diagnostics (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/cd9ca68faa25d287c02f4bbdc5007e1fbe1c6fc1\"\u003e\u003ccode\u003ecd9ca68\u003c/code\u003e\u003c/a\u003e NEW_RULES: Add rule analysis foundation and 56 rules (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1402\"\u003e#1402\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/90e794f76b5350653b1decbec54f386f8ff465e4\"\u003e\u003ccode\u003e90e794f\u003c/code\u003e\u003c/a\u003e test: cover ref mutation inline suppression (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/88114a23321a73a2546fdc9db5902ffc0a0e49db\"\u003e\u003ccode\u003e88114a2\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;NEW_RULES: Add rule analysis foundation\u0026quot; (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1401\"\u003e#1401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/3018538b7c245461057ca6ce01177b2e0bc28d75\"\u003e\u003ccode\u003e3018538\u003c/code\u003e\u003c/a\u003e NEW_RULES: Add rule analysis foundation (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1338\"\u003e#1338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.8.3/packages/react-doctor\"\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/ant-design/ant-design-pro/pull/11915","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ant-design%2Fant-design-pro/issues/11915","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11915/packages"}},{"old_version":"0.5.8","new_version":"0.7.3","update_type":"minor","path":null,"pr_created_at":"2026-07-09T15:16:42.000Z","version_change":"0.5.8 → 0.7.3","issue":{"uuid":"4847514250","node_id":"PR_kwDOTJ8tmM7vyoTE","number":5,"state":"closed","title":"Bump the dependencies group across 1 directory with 5 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-13T15:17:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-07-09T15:16:42.000Z","updated_at":"2026-07-13T15:17:57.000Z","time_to_close":345673,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":5,"packages":[{"name":"@commitlint/cli","old_version":"21.1.0","new_version":"21.2.1","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"21.1.0","new_version":"21.2.0"},{"name":"@types/node","old_version":"26.0.0","new_version":"26.1.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"react-doctor","old_version":"0.5.8","new_version":"0.7.3","repository_url":"https://github.com/millionco/react-doctor"},{"name":"typescript","old_version":"6.0.3","new_version":"7.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 4 updates in the / directory: [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) and [typescript](https://github.com/microsoft/TypeScript).\n\nUpdates `@commitlint/cli` from 21.1.0 to 21.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/releases\"\u003e@​commitlint/cli's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev21.2.1\u003c/h2\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\u003ch3\u003eChore, doc, etc.\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore(read): replace deprecated git-raw-commits with git-client by \u003ca href=\"https://github.com/igordanchenko\"\u003e\u003ccode\u003e@​igordanchenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4860\"\u003econventional-changelog/commitlint#4860\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(issue-template): ask for package manager and version 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/4867\"\u003econventional-changelog/commitlint#4867\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/igordanchenko\"\u003e\u003ccode\u003e@​igordanchenko\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4860\"\u003econventional-changelog/commitlint#4860\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.0...v21.2.1\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.2.0...v21.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev21.2.0\u003c/h2\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\u003efeat(resolve-extends): resolve pure-ESM presets (conventional-changelog v7/v9/v10) 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/4859\"\u003econventional-changelog/commitlint#4859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: install git in stock-Ubuntu baseline job 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/4847\"\u003econventional-changelog/commitlint#4847\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.1.0...v21.2.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0\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.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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.1/@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.1.0 to 21.2.0\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.0\u003c/h2\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\u003efeat(resolve-extends): resolve pure-ESM presets (conventional-changelog v7/v9/v10) 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/4859\"\u003econventional-changelog/commitlint#4859\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eci: install git in stock-Ubuntu baseline job 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/4847\"\u003econventional-changelog/commitlint#4847\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.1.0...v21.2.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v21.1.0...v21.2.0\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\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\u003c/blockquote\u003e\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/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\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v21.2.0/@commitlint/config-conventional\"\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.0.0 to 26.1.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/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 `react-doctor` from 0.5.8 to 0.7.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.7.2\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/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Align 30+ rules with their documented behavior, fixing the false-positive clusters confirmed by a validation pass of 2,143 sampled diagnostics against the official rule prompts. Highlights: \u003ccode\u003ejsx-key\u003c/code\u003e now flags key-after-spread (the documented hazard) instead of the safe key-before-spread shape and exempts props rest parameters; \u003ccode\u003eno-did-update-set-state\u003c/code\u003e honors the prop-comparison guard exemption; \u003ccode\u003eno-console\u003c/code\u003e skips Node CLI scripts; \u003ccode\u003ecircular-dependency\u003c/code\u003e skips type-only, lazy-import, and render-time-only cycles; \u003ccode\u003equery-mutation-missing-invalidation\u003c/code\u003e exempts read-only mutations; \u003ccode\u003einsecure-crypto-risk\u003c/code\u003e requires cryptographic context instead of matching identifier names; \u003ccode\u003eno-unknown-property\u003c/code\u003e allows valid hyphenated SVG attributes; \u003ccode\u003eno-aria-hidden-on-focusable\u003c/code\u003e verifies the element is actually focusable; \u003ccode\u003eno-flush-sync\u003c/code\u003e implements the documented DOM-measurement carve-out.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1069\"\u003e#1069\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5809083017d77962e22d257578458dc02cdebe14\"\u003e\u003ccode\u003e5809083\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003e--supply-chain\u003c/code\u003e / \u003ccode\u003e--no-supply-chain\u003c/code\u003e CLI flags to toggle the dependency supply-chain scan, mirroring \u003ccode\u003e--lint\u003c/code\u003e/\u003ccode\u003e--no-lint\u003c/code\u003e and \u003ccode\u003e--dead-code\u003c/code\u003e/\u003ccode\u003e--no-dead-code\u003c/code\u003e. Supply-chain enablement now resolves as a scan option (\u003ccode\u003eInspectOptions.supplyChain\u003c/code\u003e) against \u003ccode\u003esupplyChain.enabled\u003c/code\u003e — the flag wins — so it takes precedence over per-project config on every scan (a workspace module's config can't undo \u003ccode\u003e--no-supply-chain\u003c/code\u003e), and config isn't mutated so \u003ccode\u003escan.hasCustomConfig\u003c/code\u003e telemetry stays accurate. The enabled state also rides the per-scan wide event as \u003ccode\u003escan.supplyChain\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1083\"\u003e#1083\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/skoshx\"\u003e\u003ccode\u003e@​skoshx\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003equery-destructure-result\u003c/code\u003e no longer classifies rest-destructuring (\u003ccode\u003econst { data, ...rest } = query\u003c/code\u003e) — that shape is \u003ccode\u003equery-no-rest-destructuring\u003c/code\u003e's territory, and claiming it in both rules reported the same line twice (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/1082\"\u003e#1082\u003c/a\u003e). The rule now fires only on the consumption it uniquely owns: spreading the whole TanStack Query result into JSX (\u003ccode\u003e\u0026lt;Inner {...query} /\u0026gt;\u003c/code\u003e) or an object literal, which enumerates every field and subscribes the component to all of them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1070\"\u003e#1070\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/64452aacab9770ac8a01ebab221addeedb594b77\"\u003e\u003ccode\u003e64452aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix whole-repo scan cache replaying another project's diagnostics when a .git-less checkout sits inside an unrelated repository (e.g. a gitignored benchmark/mining clone directory reused across projects). The cache key's git identity (HEAD sha, worktree fingerprint) resolved from the enclosing repository, which cannot see the checkout's files, so two different projects materialized at the same path keyed identically. The key now requires the fingerprinted repository to actually track files under the project directory (cache off otherwise), and every cache hit re-verifies the stored payload's directory and \u003ccode\u003epackage.json\u003c/code\u003e content hash so any future keying bug of this class degrades to a miss instead of a cross-project replay.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Third-round FP sweep: honor \u003ccode\u003eeslint-disable react-hooks/\u0026lt;rule\u0026gt;\u003c/code\u003e spellings for React Compiler diagnostics, suppress \u003ccode\u003eimmutability\u003c/code\u003e findings inside Reanimated worklets, skip the vulnerability axis for devDependencies in supply-chain scoring, suppress \u003ccode\u003equery-no-usequery-for-mutation\u003c/code\u003e for polled/read-verb POST endpoints, prune compile-time-erased edges from circular-dependency detection, and fix unused-export/unused-file/unused-dev-dependency false positives in deslop-js.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/1880b152e4d6aedd5c06cf2ca51783e53cfb4004\"\u003e\u003ccode\u003e1880b15\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.2\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\u003c/li\u003e\n\u003cli\u003eThe programmatic API mirrors the signal: \u003ccode\u003ediagnose()\u003c/code\u003e results carry \u003ccode\u003ereactDetected\u003c/code\u003e (\u003ccode\u003eDiagnoseResult.reactDetected\u003c/code\u003e, per-project on \u003ccode\u003eProjectResultOk\u003c/code\u003e, aggregate on \u003ccode\u003eDiagnoseProjectsResult\u003c/code\u003e — absent when no project scanned successfully), and the \u003ccode\u003ehasReactRuntime(project)\u003c/code\u003e predicate is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e and \u003ccode\u003e@react-doctor/api\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/c0c3fc170972876c8bbc2419b32e66b9c864df85\"\u003e\u003ccode\u003ec0c3fc1\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.1\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.7.0\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/millionco/react-doctor/pull/1060\"\u003e#1060\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - The whole cache stack now survives CI's fresh checkouts, so the GitHub Action's persisted \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e actually warms every layer instead of only the content-addressed ones. The whole-repo scan-result cache moves under the shared per-project cache root (honoring \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e like the lint, sidecar, dead-code, and supply-chain caches — previously it silently escaped the action's cache into \u003ccode\u003enode_modules/.cache\u003c/code\u003e or the OS temp dir), and its key drops every stat-based fingerprint that a re-clone rotates: config files and gitignored dotenv files are now content-hashed, and the toolchain is keyed by package versions (matching the lint ruleset hash) rather than install mtimes. The stat-fingerprinted dead-code caches gain mtime repair (the ninja/restat pattern): entries carry a content-hash witness, and a stat mismatch over identical bytes — every file after a fresh checkout — re-hashes once, accepts the entry, and persists the refreshed stat so the cost is paid once per checkout, not per run. This covers core's whole-project dead-code result cache (per-file \u003ccode\u003e(mtime, size, hash)\u003c/code\u003e records replacing the stats-in-key fingerprint) and deslop-js's incremental summary store (parse summaries, package-reference facts, and the manifest/bundler-config fingerprints feeding the collect/resolution hashes). Expired supply-chain score entries are also pruned past their TTL so restored cache directories stop accumulating dead purls. Everything stays fail-open and byte-identical to an uncached scan; on a re-cloned repo with one changed file, a warm scan now replays ~100% of lint, sidecar, and parse work instead of starting cold.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1056\"\u003e#1056\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Hardened the dead-code result cache key against two silent-staleness classes. The fingerprinted extension and manifest name lists are now imported from \u003ccode\u003edeslop-js/analyzed-inputs\u003c/code\u003e — a new dependency-free subpath export assembled from the same constants deslop's own readers consume — so a deslop upgrade that widens its walk can never under-invalidate the cache. And the key now includes \u003ccode\u003e@react-doctor/core\u003c/code\u003e's own version, so upgrading react-doctor re-analyzes instead of replaying cached diagnostics shaped by an older core's post-processing. The cache schema-version constant remains for cache-format changes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1053\"\u003e#1053\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rescans now skip the dead-code analysis entirely when nothing it reads has changed. The pass persists its diagnostics keyed by a fingerprint over the analyzed source tree (stat-based, so additions, deletions, and edits all invalidate), the project's manifests, tsconfigs, lockfiles, knip/entry/ignore configuration, and the analyzer version — on an unchanged-input rerun the stored result replays instead of re-walking the whole import graph, cutting several seconds off warm rescans of large repos. Only complete, successful passes are stored; \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1057\"\u003e#1057\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Dead-code analysis is now incremental across scans. deslop-js gains an opt-in \u003ccode\u003eincrementalCachePath\u003c/code\u003e config field: one stat walk per run (following directory symlinks, like the glob scans it stands in for) validates four independently keyed layers — per-file parse summaries (mtime+size), the collected file list, the module-resolution map (dropped whenever the file set or a bundler/tsconfig-like config changes, since resolution is file-set-dependent), and the per-file package-reference facts behind the unused-dependency content scans. The same walk also answers the stale-package file-discovery globs (config/docs/rescue/package.json/nx/tsconfig scans, verified byte-identical against fast-glob), so a cached run never re-walks the tree for them. Entry resolution deliberately stays live every run (it reads config/doc/sibling-source content no fingerprint can validate); on cached runs it moves to a dedicated worker thread so its filesystem work overlaps the main-thread analysis instead of serializing after it. Every layer fails open — corrupt, truncated, or version/config-mismatched stores degrade to a fresh computation, never a wrong result — writes are atomic and skipped when clean, and results are byte-identical to an uncached run. Unused-export detection also indexes re-export edges by source module, dropping an O(entry points × edges) scan that dominated the detector on large repos.\u003c/p\u003e\n\u003cp\u003ereact-doctor points the analysis worker at a per-project summary store next to the existing whole-result dead-code cache, so a changed-files rescan of a large repo re-parses only what changed (sentry, 9k files: ~8.0s → ~3.2s with 0-10 files edited; ~4.0s after adding a file; the cache-fill run costs the same as an uncached scan). The worker also stops running the discarded DRY-pattern redundancy detectors (\u003ccode\u003ereportRedundancy: false\u003c/code\u003e), which shrinks the summary store by dropping fields only those detectors read, and reports the cache outcome as \u003ccode\u003edeadCode.summaryCacheHits\u003c/code\u003e / \u003ccode\u003edeadCode.summaryCacheMisses\u003c/code\u003e in anonymized telemetry (absent whenever no analysis consulted the store). \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1054\"\u003e#1054\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Instant reruns now also work with uncommitted changes: the whole-repo scan-result cache no longer requires a clean worktree — it keys on the exact dirty state (every modified, staged, renamed, deleted, and untracked path plus a hash of its content), so rescanning the same work-in-progress tree hits the cache while any edit still invalidates it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1052\"\u003e#1052\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Restore instant reruns on large repos: raise \u003ccode\u003erunGit\u003c/code\u003e's output cap so the whole-repo scan-result cache works past ~15k tracked files.\u003c/p\u003e\n\u003cp\u003eThe cache's clean-worktree gates shell out to git through a helper that used Node's default 1 MiB \u003ccode\u003emaxBuffer\u003c/code\u003e. On repos with roughly 15-25k tracked files (getsentry/sentry: 20,343), \u003ccode\u003egit ls-files -v\u003c/code\u003e alone exceeds that, \u003ccode\u003eexecFileSync\u003c/code\u003e throws ENOBUFS, the helper swallows it into \u003ccode\u003enull\u003c/code\u003e, and the gates read \u003ccode\u003enull\u003c/code\u003e as \u0026quot;hidden tracked state\u0026quot; — so the cache silently never stored or served a scan on exactly the repos where the instant-rerun path saves the most time. The helper now runs with an explicit 64 MiB cap, which clears monorepos with hundreds of thousands of files while still bounding a pathological child process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1058\"\u003e#1058\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Warm rescans now skip the cross-file lint sidecar for files whose dependencies are unchanged. Previously the per-file lint cache replayed most rules but re-linted EVERY file with the cross-file ruleset (\u003ccode\u003eno-barrel-import\u003c/code\u003e, the Next.js metadata/Suspense rules, \u003ccode\u003eno-mutating-reducer-state\u003c/code\u003e, the React Native text rules) on every scan, because a sibling edit can flip an unchanged file's verdict. Each file now carries a dependency fingerprint — the exact set of filesystem probes (resolved import targets, barrel chains, ancestor layouts, nearest package.json/tsconfig, and the negative resolution candidates that catch shadowing) its cross-file rules consulted — and the sidecar replays the stored diagnostics when every probe still answers the same, re-linting only files whose dependency set changed. Every entry fails open (corrupt store, unparseable file, partial lint → fresh re-lint), a cross-file rule without a registered dependency collector re-lints everywhere, and \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_SIDECAR_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.3\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/millionco/react-doctor/pull/978\"\u003e#978\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/b97a92f6111394d6fc01fae5b43b2bb5bf892b64\"\u003e\u003ccode\u003eb97a92f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/976\"\u003e#976\u003c/a\u003e: Next.js projects using \u003ccode\u003eoutput: \u0026quot;export\u0026quot;\u003c/code\u003e (static export) no longer receive server-only fix recommendations that are impossible without a request-time server. \u003ccode\u003eserver-fetch-without-revalidate\u003c/code\u003e is gated off, \u003ccode\u003enextjs-no-client-side-redirect\u003c/code\u003e keeps firing but its advice drops the middleware / \u003ccode\u003egetServerSideProps\u003c/code\u003e clause (recommending a render-time or client-side redirect instead), and \u003ccode\u003eno-prevent-default\u003c/code\u003e emits the framework-neutral \u003ccode\u003e\u0026lt;form\u0026gt;\u003c/code\u003e message rather than recommending Server Actions. The detection also works when the static export lives in a workspace: a monorepo-root scan whose \u003ccode\u003eapps/web\u003c/code\u003e sets \u003ccode\u003eoutput: \u0026quot;export\u0026quot;\u003c/code\u003e is now recognized (the config is read next to the manifest that supplies the \u003ccode\u003enext\u003c/code\u003e dependency).\u003c/p\u003e\n\u003cp\u003eUnder the hood this refactors framework gating into one typed capability vocabulary — a \u003ccode\u003eCapability\u003c/code\u003e union both \u003ccode\u003erequires\u003c/code\u003e/\u003ccode\u003edisabledWhen\u003c/code\u003e metadata and the runtime \u003ccode\u003ehasCapability(settings, …)\u003c/code\u003e check compile against, so a misspelled token fails \u003ccode\u003etsc\u003c/code\u003e instead of silently never matching. Rules own their capability-conditioned prose via a new \u003ccode\u003erecommendationFor(hasCapability)\u003c/code\u003e hook (core no longer rewrites specific rules' advice), and \u003ccode\u003eno-prevent-default\u003c/code\u003e's hardcoded SPA framework list is replaced by the new \u003ccode\u003eclient-only\u003c/code\u003e capability. ESLint-plugin users who suppressed the \u003ccode\u003e\u0026lt;form\u0026gt;\u003c/code\u003e variant via \u003ccode\u003esettings[\u0026quot;react-doctor\u0026quot;].framework\u003c/code\u003e should now set \u003ccode\u003esettings[\u0026quot;react-doctor\u0026quot;].capabilities: [\u0026quot;client-only\u0026quot;]\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eProject discovery now traverses workspaces once instead of up to ~7 times (one pass collects react/tailwind/zod/framework, React Native awareness, reanimated, expo, flash-list, and next facts), and workspace precedence is sorted-deterministic instead of filesystem readdir order — on multi-workspace repos where several packages could supply the framework or React version signal, the first in sorted walk order now consistently wins.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - New rule \u003ccode\u003eno-locale-format-in-render\u003c/code\u003e (warn, SSR-capable projects only): flags locale/timezone-dependent formatting evaluated during render — \u003ccode\u003etoLocaleString\u003c/code\u003e / \u003ccode\u003etoLocaleDateString\u003c/code\u003e / \u003ccode\u003etoLocaleTimeString\u003c/code\u003e on date-shaped receivers, \u003ccode\u003eIntl.DateTimeFormat(...).format(...)\u003c/code\u003e, and \u003ccode\u003eDate\u003c/code\u003e default stringification — because the server's locale and timezone differ from the browser's, causing hydration mismatches. Number formatting (\u003ccode\u003eIntl.NumberFormat\u003c/code\u003e, bare \u003ccode\u003etoLocaleString()\u003c/code\u003e on numbers) is deliberately out of scope: its only environment input is the ICU locale, a far weaker mismatch signal that was almost always client-fetched dashboard data in corpus validation. Formatting with an explicit locale and timeZone, inside event handlers or effects, behind client-only guards, or under \u003ccode\u003esuppressHydrationWarning\u003c/code\u003e stays unflagged. \u003ccode\u003erendering-hydration-no-flicker\u003c/code\u003e gained a matching escape so the recommended post-mount \u003ccode\u003euseEffect\u003c/code\u003e + state fix is never flagged as a flicker.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1103\"\u003e#1103\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/08b768bb4a7ce80927f7ad15bc3850a1f7585457\"\u003e\u003ccode\u003e08b768b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Rescue oxlint OOM-dropped files with a serial replay instead of reporting a partial scan. When a parallel lint pass drops files because oxlint's native binding SIGABRT'd under memory pressure (oxc's fixed-size allocator panics when N concurrent oxlint processes compete for memory on very large packages), those files are now replayed once, serially, one single-file batch each — the memory pressure is usually a function of sibling processes, not the file itself, so the replay typically completes the scan. Only files that still fail alone stay dropped and reported.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - prefer-use-sync-external-store now detects hand-rolled module-scope stores: a mutable module binding plus a listener registry and same-file subscribe function, consumed as \u003ccode\u003euseState(sharedState)\u003c/code\u003e with a \u003ccode\u003euseEffect(() =\u0026gt; subscribe(setState), [])\u003c/code\u003e. Publishes fired between the render-time snapshot and the effect-time subscription are lost and concurrent renders can tear — \u003ccode\u003euseSyncExternalStore(subscribe, getSnapshot)\u003c/code\u003e is the fix. Genuine \u003ccode\u003euseSyncExternalStore\u003c/code\u003e usage, imported subscribe functions, and effects with non-empty dependencies stay unflagged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1102\"\u003e#1102\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/da7bb4bfc685e2436bf5202c17ac7596d86ae270\"\u003e\u003ccode\u003eda7bb4b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - no-react19-deprecated-apis no longer flags \u003ccode\u003euseContext\u003c/code\u003e. React 19's \u003ccode\u003euse()\u003c/code\u003e is an additive alternative — \u003ccode\u003euseContext\u003c/code\u003e remains a fully supported, non-deprecated API, so calling it deprecated was misinformation. The rule still flags \u003ccode\u003eforwardRef\u003c/code\u003e (both named imports and \u003ccode\u003eReact.forwardRef\u003c/code\u003e member access) on React 19+ projects.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Detection robustness against verdict-preserving source rewrites: rules no longer go silent when the same defect is spelled with a slightly different shape. \u003ccode\u003eDate.now()\u003c/code\u003e / \u003ccode\u003eMath.random()\u003c/code\u003e / \u003ccode\u003eperformance.now()\u003c/code\u003e / \u003ccode\u003ecrypto.randomUUID()\u003c/code\u003e and namespace-import calls like \u003ccode\u003eReact.forwardRef\u003c/code\u003e now match through TS cast wrappers (\u003ccode\u003e(Date as any).now()\u003c/code\u003e, \u003ccode\u003e(React!).forwardRef\u003c/code\u003e); \u003ccode\u003eprefer-use-sync-external-store\u003c/code\u003e recognizes resync handlers written as block-bodied returns (\u003ccode\u003e() =\u0026gt; { return setX(read()); }\u003c/code\u003e); and effect-body analyses (\u003ccode\u003eno-derived-state-effect\u003c/code\u003e, \u003ccode\u003erendering-hydration-no-flicker\u003c/code\u003e, and everything on \u003ccode\u003egetCallbackStatements\u003c/code\u003e) skip no-op statements (\u003ccode\u003evoid 0;\u003c/code\u003e, stray directives) instead of letting them flip a \u0026quot;body contains only setState\u0026quot; check.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/cb8f7268530911910bc572bf697614d32674e56a\"\u003e\u003ccode\u003ecb8f726\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9948af13715741788f2ed81cb738a35a0dce35\"\u003e\u003ccode\u003eee9948a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/82e0475b0b5af5e17a2714862d2a717a5a914e90\"\u003e\u003ccode\u003e82e0475\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/f10f9ca8a622befea1e1972cd25ceb5e3ecb3f30\"\u003e\u003ccode\u003ef10f9ca\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/6680538e14dcff2f2cac36422b124e0df3912798\"\u003e\u003ccode\u003e6680538\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fb8ffb0f769532c035baac27443738f4ba84870b\"\u003e\u003ccode\u003efb8ffb0\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b97a92f6111394d6fc01fae5b43b2bb5bf892b64\"\u003e\u003ccode\u003eb97a92f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3e94e37c467ab958190094dad2b582580be9c0\"\u003e\u003ccode\u003eea3e94e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/11e9c87340eb3b83e604107f8c264417be178b0a\"\u003e\u003ccode\u003e11e9c87\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/63e065739f615310922041866b742f23e57c8a12\"\u003e\u003ccode\u003e63e0657\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/2953b2592d464afd3dde8eba85f5400fb7863a90\"\u003e\u003ccode\u003e2953b25\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/02b1f82dd0c6fdf5a8fbbe5bab16c2384ae41bd0\"\u003e\u003ccode\u003e02b1f82\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/da7bb4bfc685e2436bf5202c17ac7596d86ae270\"\u003e\u003ccode\u003eda7bb4b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/f83092d9313bc1cae41d8e0a154bd943b7414dd3\"\u003e\u003ccode\u003ef83092d\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/dfdc763bad8a068aaf4b47aaf23b6f83d720cf40\"\u003e\u003ccode\u003edfdc763\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9b59d96f06dc7210686ef097e6ac92ce5f864eb4\"\u003e\u003ccode\u003e9b59d96\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.3\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.3\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.2\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/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Align 30+ rules with their documented behavior, fixing the false-positive clusters confirmed by a validation pass of 2,143 sampled diagnostics against the official rule prompts. Highlights: \u003ccode\u003ejsx-key\u003c/code\u003e now flags key-after-spread (the documented hazard) instead of the safe key-before-spread shape and exempts props rest parameters; \u003ccode\u003eno-did-update-set-state\u003c/code\u003e honors the prop-comparison guard exemption; \u003ccode\u003eno-console\u003c/code\u003e skips Node CLI scripts; \u003ccode\u003ecircular-dependency\u003c/code\u003e skips type-only, lazy-import, and render-time-only cycles; \u003ccode\u003equery-mutation-missing-invalidation\u003c/code\u003e exempts read-only mutations; \u003ccode\u003einsecure-crypto-risk\u003c/code\u003e requires cryptographic context instead of matching identifier names; \u003ccode\u003eno-unknown-property\u003c/code\u003e allows valid hyphenated SVG attributes; \u003ccode\u003eno-aria-hidden-on-focusable\u003c/code\u003e verifies the element is actually focusable; \u003ccode\u003eno-flush-sync\u003c/code\u003e implements the documented DOM-measurement carve-out.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1069\"\u003e#1069\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5809083017d77962e22d257578458dc02cdebe14\"\u003e\u003ccode\u003e5809083\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003e--supply-chain\u003c/code\u003e / \u003ccode\u003e--no-supply-chain\u003c/code\u003e CLI flags to toggle the dependency supply-chain scan, mirroring \u003ccode\u003e--lint\u003c/code\u003e/\u003ccode\u003e--no-lint\u003c/code\u003e and \u003ccode\u003e--dead-code\u003c/code\u003e/\u003ccode\u003e--no-dead-code\u003c/code\u003e. Supply-chain enablement now resolves as a scan option (\u003ccode\u003eInspectOptions.supplyChain\u003c/code\u003e) against \u003ccode\u003esupplyChain.enabled\u003c/code\u003e — the flag wins — so it takes precedence over per-project config on every scan (a workspace module's config can't undo \u003ccode\u003e--no-supply-chain\u003c/code\u003e), and config isn't mutated so \u003ccode\u003escan.hasCustomConfig\u003c/code\u003e telemetry stays accurate. The enabled state also rides the per-scan wide event as \u003ccode\u003escan.supplyChain\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1083\"\u003e#1083\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/skoshx\"\u003e\u003ccode\u003e@​skoshx\u003c/code\u003e\u003c/a\u003e! - \u003ccode\u003equery-destructure-result\u003c/code\u003e no longer classifies rest-destructuring (\u003ccode\u003econst { data, ...rest } = query\u003c/code\u003e) — that shape is \u003ccode\u003equery-no-rest-destructuring\u003c/code\u003e's territory, and claiming it in both rules reported the same line twice (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/1082\"\u003e#1082\u003c/a\u003e). The rule now fires only on the consumption it uniquely owns: spreading the whole TanStack Query result into JSX (\u003ccode\u003e\u0026lt;Inner {...query} /\u0026gt;\u003c/code\u003e) or an object literal, which enumerates every field and subscribes the component to all of them.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1070\"\u003e#1070\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/64452aacab9770ac8a01ebab221addeedb594b77\"\u003e\u003ccode\u003e64452aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix whole-repo scan cache replaying another project's diagnostics when a .git-less checkout sits inside an unrelated repository (e.g. a gitignored benchmark/mining clone directory reused across projects). The cache key's git identity (HEAD sha, worktree fingerprint) resolved from the enclosing repository, which cannot see the checkout's files, so two different projects materialized at the same path keyed identically. The key now requires the fingerprinted repository to actually track files under the project directory (cache off otherwise), and every cache hit re-verifies the stored payload's directory and \u003ccode\u003epackage.json\u003c/code\u003e content hash so any future keying bug of this class degrades to a miss instead of a cross-project replay.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1077\"\u003e#1077\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Third-round FP sweep: honor \u003ccode\u003eeslint-disable react-hooks/\u0026lt;rule\u0026gt;\u003c/code\u003e spellings for React Compiler diagnostics, suppress \u003ccode\u003eimmutability\u003c/code\u003e findings inside Reanimated worklets, skip the vulnerability axis for devDependencies in supply-chain scoring, suppress \u003ccode\u003equery-no-usequery-for-mutation\u003c/code\u003e for polled/read-verb POST endpoints, prune compile-time-erased edges from circular-dependency detection, and fix unused-export/unused-file/unused-dev-dependency false positives in deslop-js.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/1880b152e4d6aedd5c06cf2ca51783e53cfb4004\"\u003e\u003ccode\u003e1880b15\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5d2f17f71c9fb8e0d8d649da1b26de8f5cfe6c34\"\u003e\u003ccode\u003e5d2f17f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.2\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\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/millionco/react-doctor/commit/fcb203ee80a2891e66a4bd2f932443b8d1dc3347\"\u003e\u003ccode\u003efcb203e\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1086\"\u003e#1086\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/b1bf6b9c31975620e8ff979d98b337328d75fa7f\"\u003e\u003ccode\u003eb1bf6b9\u003c/code\u003e\u003c/a\u003e RB-COMP-FIX: severity re-categorizations — align rule families at warn (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1098\"\u003e#1098\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/b97a92f6111394d6fc01fae5b43b2bb5bf892b64\"\u003e\u003ccode\u003eb97a92f\u003c/code\u003e\u003c/a\u003e refactor(capabilities): unify framework gating into one capability vocabulary...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/aa519e5f5505105ef8c00e1b1972c98514f7577a\"\u003e\u003ccode\u003eaa519e5\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1068\"\u003e#1068\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9cb414905de7b360d728ca08d45167116a94ee90\"\u003e\u003ccode\u003e9cb4149\u003c/code\u003e\u003c/a\u003e fix(oxlint-plugin): precision sweep — narrow 40+ rules against verified FPs f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5809083017d77962e22d257578458dc02cdebe14\"\u003e\u003ccode\u003e5809083\u003c/code\u003e\u003c/a\u003e feat(cli): add --supply-chain / --no-supply-chain to toggle the dependency sc...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/64452aacab9770ac8a01ebab221addeedb594b77\"\u003e\u003ccode\u003e64452aa\u003c/code\u003e\u003c/a\u003e fix(cli): scan cache no longer replays across projects at a reused path (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1070\"\u003e#1070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/160f84c6ccaf36312ef44a585547bb32b72c2aa6\"\u003e\u003ccode\u003e160f84c\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e feat(core): surface reactDetected so a gated-off scan can't pass for clean (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/574cba6e94b99776cfad671fe6709a24ea919624\"\u003e\u003ccode\u003e574cba6\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/eslint-plugin-react-doctor@0.7.3/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `typescript` from 6.0.3 to 7.0.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/microsoft/TypeScript/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/~microsoft1es\"\u003emicrosoft1es\u003c/a\u003e, a new releaser for typescript since your current version.\u003c/p\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/lui00000/Dominios-/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/lui00000%2FDominios-/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"0.6.1","new_version":"0.7.1","update_type":"minor","path":null,"pr_created_at":"2026-07-08T01:33:59.000Z","version_change":"0.6.1 → 0.7.1","issue":{"uuid":"4833545769","node_id":"PR_kwDOOWvFYM7vE-Pq","number":288,"state":"open","title":"build(deps-dev): bump the minor-updates group across 1 directory with 2 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-07-08T01:33:59.000Z","updated_at":"2026-07-08T01:37:47.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps-dev): bump","group_name":"minor-updates","update_count":2,"packages":[{"name":"react-doctor","old_version":"0.6.1","new_version":"0.7.1","repository_url":"https://github.com/millionco/react-doctor"},{"name":"wrangler","old_version":"4.107.0","new_version":"4.108.0","repository_url":"https://github.com/cloudflare/workers-sdk"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-updates group with 2 updates in the / directory: [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler).\n\nUpdates `react-doctor` from 0.6.1 to 0.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\u003c/li\u003e\n\u003cli\u003eThe programmatic API mirrors the signal: \u003ccode\u003ediagnose()\u003c/code\u003e results carry \u003ccode\u003ereactDetected\u003c/code\u003e (\u003ccode\u003eDiagnoseResult.reactDetected\u003c/code\u003e, per-project on \u003ccode\u003eProjectResultOk\u003c/code\u003e, aggregate on \u003ccode\u003eDiagnoseProjectsResult\u003c/code\u003e — absent when no project scanned successfully), and the \u003ccode\u003ehasReactRuntime(project)\u003c/code\u003e predicate is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e and \u003ccode\u003e@react-doctor/api\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/c0c3fc170972876c8bbc2419b32e66b9c864df85\"\u003e\u003ccode\u003ec0c3fc1\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.1\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.7.0\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/millionco/react-doctor/pull/1060\"\u003e#1060\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - The whole cache stack now survives CI's fresh checkouts, so the GitHub Action's persisted \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e actually warms every layer instead of only the content-addressed ones. The whole-repo scan-result cache moves under the shared per-project cache root (honoring \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e like the lint, sidecar, dead-code, and supply-chain caches — previously it silently escaped the action's cache into \u003ccode\u003enode_modules/.cache\u003c/code\u003e or the OS temp dir), and its key drops every stat-based fingerprint that a re-clone rotates: config files and gitignored dotenv files are now content-hashed, and the toolchain is keyed by package versions (matching the lint ruleset hash) rather than install mtimes. The stat-fingerprinted dead-code caches gain mtime repair (the ninja/restat pattern): entries carry a content-hash witness, and a stat mismatch over identical bytes — every file after a fresh checkout — re-hashes once, accepts the entry, and persists the refreshed stat so the cost is paid once per checkout, not per run. This covers core's whole-project dead-code result cache (per-file \u003ccode\u003e(mtime, size, hash)\u003c/code\u003e records replacing the stats-in-key fingerprint) and deslop-js's incremental summary store (parse summaries, package-reference facts, and the manifest/bundler-config fingerprints feeding the collect/resolution hashes). Expired supply-chain score entries are also pruned past their TTL so restored cache directories stop accumulating dead purls. Everything stays fail-open and byte-identical to an uncached scan; on a re-cloned repo with one changed file, a warm scan now replays ~100% of lint, sidecar, and parse work instead of starting cold.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1056\"\u003e#1056\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Hardened the dead-code result cache key against two silent-staleness classes. The fingerprinted extension and manifest name lists are now imported from \u003ccode\u003edeslop-js/analyzed-inputs\u003c/code\u003e — a new dependency-free subpath export assembled from the same constants deslop's own readers consume — so a deslop upgrade that widens its walk can never under-invalidate the cache. And the key now includes \u003ccode\u003e@react-doctor/core\u003c/code\u003e's own version, so upgrading react-doctor re-analyzes instead of replaying cached diagnostics shaped by an older core's post-processing. The cache schema-version constant remains for cache-format changes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1053\"\u003e#1053\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rescans now skip the dead-code analysis entirely when nothing it reads has changed. The pass persists its diagnostics keyed by a fingerprint over the analyzed source tree (stat-based, so additions, deletions, and edits all invalidate), the project's manifests, tsconfigs, lockfiles, knip/entry/ignore configuration, and the analyzer version — on an unchanged-input rerun the stored result replays instead of re-walking the whole import graph, cutting several seconds off warm rescans of large repos. Only complete, successful passes are stored; \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1057\"\u003e#1057\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Dead-code analysis is now incremental across scans. deslop-js gains an opt-in \u003ccode\u003eincrementalCachePath\u003c/code\u003e config field: one stat walk per run (following directory symlinks, like the glob scans it stands in for) validates four independently keyed layers — per-file parse summaries (mtime+size), the collected file list, the module-resolution map (dropped whenever the file set or a bundler/tsconfig-like config changes, since resolution is file-set-dependent), and the per-file package-reference facts behind the unused-dependency content scans. The same walk also answers the stale-package file-discovery globs (config/docs/rescue/package.json/nx/tsconfig scans, verified byte-identical against fast-glob), so a cached run never re-walks the tree for them. Entry resolution deliberately stays live every run (it reads config/doc/sibling-source content no fingerprint can validate); on cached runs it moves to a dedicated worker thread so its filesystem work overlaps the main-thread analysis instead of serializing after it. Every layer fails open — corrupt, truncated, or version/config-mismatched stores degrade to a fresh computation, never a wrong result — writes are atomic and skipped when clean, and results are byte-identical to an uncached run. Unused-export detection also indexes re-export edges by source module, dropping an O(entry points × edges) scan that dominated the detector on large repos.\u003c/p\u003e\n\u003cp\u003ereact-doctor points the analysis worker at a per-project summary store next to the existing whole-result dead-code cache, so a changed-files rescan of a large repo re-parses only what changed (sentry, 9k files: ~8.0s → ~3.2s with 0-10 files edited; ~4.0s after adding a file; the cache-fill run costs the same as an uncached scan). The worker also stops running the discarded DRY-pattern redundancy detectors (\u003ccode\u003ereportRedundancy: false\u003c/code\u003e), which shrinks the summary store by dropping fields only those detectors read, and reports the cache outcome as \u003ccode\u003edeadCode.summaryCacheHits\u003c/code\u003e / \u003ccode\u003edeadCode.summaryCacheMisses\u003c/code\u003e in anonymized telemetry (absent whenever no analysis consulted the store). \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1054\"\u003e#1054\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Instant reruns now also work with uncommitted changes: the whole-repo scan-result cache no longer requires a clean worktree — it keys on the exact dirty state (every modified, staged, renamed, deleted, and untracked path plus a hash of its content), so rescanning the same work-in-progress tree hits the cache while any edit still invalidates it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1052\"\u003e#1052\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Restore instant reruns on large repos: raise \u003ccode\u003erunGit\u003c/code\u003e's output cap so the whole-repo scan-result cache works past ~15k tracked files.\u003c/p\u003e\n\u003cp\u003eThe cache's clean-worktree gates shell out to git through a helper that used Node's default 1 MiB \u003ccode\u003emaxBuffer\u003c/code\u003e. On repos with roughly 15-25k tracked files (getsentry/sentry: 20,343), \u003ccode\u003egit ls-files -v\u003c/code\u003e alone exceeds that, \u003ccode\u003eexecFileSync\u003c/code\u003e throws ENOBUFS, the helper swallows it into \u003ccode\u003enull\u003c/code\u003e, and the gates read \u003ccode\u003enull\u003c/code\u003e as \u0026quot;hidden tracked state\u0026quot; — so the cache silently never stored or served a scan on exactly the repos where the instant-rerun path saves the most time. The helper now runs with an explicit 64 MiB cap, which clears monorepos with hundreds of thousands of files while still bounding a pathological child process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1058\"\u003e#1058\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Warm rescans now skip the cross-file lint sidecar for files whose dependencies are unchanged. Previously the per-file lint cache replayed most rules but re-linted EVERY file with the cross-file ruleset (\u003ccode\u003eno-barrel-import\u003c/code\u003e, the Next.js metadata/Suspense rules, \u003ccode\u003eno-mutating-reducer-state\u003c/code\u003e, the React Native text rules) on every scan, because a sibling edit can flip an unchanged file's verdict. Each file now carries a dependency fingerprint — the exact set of filesystem probes (resolved import targets, barrel chains, ancestor layouts, nearest package.json/tsconfig, and the negative resolution candidates that catch shadowing) its cross-file rules consulted — and the sidecar replays the stored diagnostics when every probe still answers the same, re-linting only files whose dependency set changed. Every entry fails open (corrupt store, unparseable file, partial lint → fresh re-lint), a cross-file rule without a registered dependency collector re-lints everywhere, and \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_SIDECAR_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1059\"\u003e#1059\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bdf80748eb0d186456b30aee30dbe731c06293b3\"\u003e\u003ccode\u003ebdf8074\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Added cache-temperature telemetry to the per-scan Sentry wide event, so cache effectiveness is queryable at a glance instead of being inferred from per-subsystem dims. \u003ccode\u003ecache.temperature\u003c/code\u003e classifies every scan as \u003ccode\u003eturbo\u003c/code\u003e (whole-repo scan-result replay — now marked by an explicit \u003ccode\u003ewholeRepoCacheHit\u003c/code\u003e flag on the replay path, never inferred from absent dims), \u003ccode\u003ewarm\u003c/code\u003e (any incremental reuse across the per-file lint, sidecar, or dead-code caches), \u003ccode\u003ecold\u003c/code\u003e (caches on, zero reuse), or \u003ccode\u003edisabled\u003c/code\u003e (the global \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e off-switch). \u003ccode\u003ecache.warmth\u003c/code\u003e is the numeric headline magnitude in [0, 1] — the plain mean of the known subsystem reuse fractions, skipping subsystems that never consulted a cache. The existing per-subsystem dims (\u003ccode\u003elint.cacheHitRatio\u003c/code\u003e, \u003ccode\u003elint.sidecarReplayRatio\u003c/code\u003e, \u003ccode\u003edeadCode.cacheHit\u003c/code\u003e, \u003ccode\u003edeadCode.summaryCacheHits/Misses\u003c/code\u003e) are unchanged. Telemetry-only: no new counters, no JSON-report or cache-schema changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edeslop-js@0.7.0\u003c/li\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.6.3\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/millionco/react-doctor/pull/1045\"\u003e#1045\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/fc75a3e361251885c7325324f2ab6812255b0c18\"\u003e\u003ccode\u003efc75a3e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Balance lint batches by file size (LPT) so one oversized batch no longer sets the whole scan's wall clock. The full-scan batcher greedily filled 100-file chunks in discovery order, so a directory of large files (generated modules, vendored bundles, big test fixtures — adjacent in \u003ccode\u003egit ls-files\u003c/code\u003e order) all landed in ONE batch: on a 619-file corpus with six ~240 KB files that straggler batch ran ~7.5 s while the other six workers finished in ~1 s and idled — and a big enough cluster can trip the 60 s per-batch timeout and drop files. The planner now keeps the same batch count (and therefore the same subprocess count and CPU) but assigns files largest-first to the least-loaded batch, so every batch carries an even share of files and bytes: 2.2× faster wall clock on the skewed corpus (9.7 s → 4.3 s), no measurable change on uniform repos, and diagnostics verified byte-identical on both. Splitting into MORE batches to feed idle workers was measured to regress (each extra concurrent subprocess pays a contended cold start that outweighs its smaller file share) and is deliberately not done. \u003ccode\u003eREACT_DOCTOR_LINT_BATCH_ORDERING=arrival\u003c/code\u003e rolls back to the old greedy chunking; the previous opt-in \u003ccode\u003ecost\u003c/code\u003e mode (sort-descending-then-chunk, which concentrated the heavy files instead of spreading them) is superseded by the balanced plan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1046\"\u003e#1046\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/59e817858240d4a4986ff03b8bb4f7d3355e22c6\"\u003e\u003ccode\u003e59e8178\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop lint's pre-spawn setup from starving the overlapped security-scan and supply-chain passes.\u003c/p\u003e\n\u003cp\u003eThe security scan already runs on a cooperative background fiber that overlaps the lint pass, but a forked fiber only advances when the main thread yields — and lint's synchronous pre-spawn prefix (full-scan file discovery plus the per-file cache's content-hash partition over every candidate file) held the event loop until the first oxlint subprocess spawned. The overlapped passes now start immediately: the lint runner hands the loop back once before discovery and yields on the shared cooperative time budget while hashing, and the security scan's own directory walk (previously one unyielding readdir+classify burst before its first budget checkpoint) yields walk-progress markers so large trees can't stall lint subprocess draining or concurrently-scanning sibling projects. Diagnostics are byte-identical and the report order is unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b4faf74744c730d0836235854b0233ce59a42566\"\u003e\u003ccode\u003eb4faf74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b4faf74744c730d0836235854b0233ce59a42566\"\u003e\u003ccode\u003eb4faf74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b4faf74744c730d0836235854b0233ce59a42566\"\u003e\u003ccode\u003eb4faf74\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/072d37e8e4f82454d2e187114d0194f26efc1bf0\"\u003e\u003ccode\u003e072d37e\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/2980d0f4ed6abfee061ac02f3a0820806f942b95\"\u003e\u003ccode\u003e2980d0f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fec491e6844d73f658f355ae2cbe86285068f0e\"\u003e\u003ccode\u003e5fec491\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/05f639910abf2b3bfc0802e9ad568ecd2b7ce13d\"\u003e\u003ccode\u003e05f6399\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/a1c8ee110e137bbc8771c8a471c20287cccd2b38\"\u003e\u003ccode\u003ea1c8ee1\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fa61c2056951df2429e79d888e5f7334aaf61cfd\"\u003e\u003ccode\u003efa61c20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ac71a3b8cfc8bdd157f0f1bcd242b61ec69f9c17\"\u003e\u003ccode\u003eac71a3b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/d8628d7f21e60b0e6dfd98d76c9f24e03f7afe24\"\u003e\u003ccode\u003ed8628d7\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ebeee568abf9a7ed37ed9fe0bba695e4f2a11c9f\"\u003e\u003ccode\u003eebeee56\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/da3b19c79c27945d873eb24e34431cbefa8f9938\"\u003e\u003ccode\u003eda3b19c\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/6a9a73b14908272535aabab6742258b61bc2ee5c\"\u003e\u003ccode\u003e6a9a73b\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/173cc0a8ba5578229e3832b2167d3f7a5386c91b\"\u003e\u003ccode\u003e173cc0a\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.7.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1062\"\u003e#1062\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Surface when a scan target had no discoverable React project, so a gated-off run can't pass for a clean one.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe JSON report now carries \u003ccode\u003ereactDetected: false\u003c/code\u003e (additive optional field on schemaVersion 1 and 2) when no scanned project resolved a React or Preact runtime — the case where every React-runtime rule family gates off and the report would otherwise be byte-indistinguishable from a genuinely clean scan. It's \u003ccode\u003etrue\u003c/code\u003e when any project resolved a runtime, and absent when nothing was scanned or the run errored. Consumers gating on the report (CI, verifiers, pre-commit hooks) should treat \u003ccode\u003ereactDetected === false\u003c/code\u003e as \u0026quot;wrong scan target\u0026quot;, not \u0026quot;all clear\u0026quot;; per-project detail is already available via \u003ccode\u003eprojects[].project.reactVersion\u003c/code\u003e / \u003ccode\u003epreactVersion\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe CLI prints a stderr warning in the same case: \u0026quot;No React project detected at \u003c!-- raw HTML omitted --\u003e — React rules were gated off; this is not the same as a clean scan.\u0026quot;\u003c/li\u003e\n\u003cli\u003eThe programmatic API mirrors the signal: \u003ccode\u003ediagnose()\u003c/code\u003e results carry \u003ccode\u003ereactDetected\u003c/code\u003e (\u003ccode\u003eDiagnoseResult.reactDetected\u003c/code\u003e, per-project on \u003ccode\u003eProjectResultOk\u003c/code\u003e, aggregate on \u003ccode\u003eDiagnoseProjectsResult\u003c/code\u003e — absent when no project scanned successfully), and the \u003ccode\u003ehasReactRuntime(project)\u003c/code\u003e predicate is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e and \u003ccode\u003e@react-doctor/api\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/c0c3fc170972876c8bbc2419b32e66b9c864df85\"\u003e\u003ccode\u003ec0c3fc1\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.1\u003c/li\u003e\n\u003cli\u003edeslop-js@0.7.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.0\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/millionco/react-doctor/pull/1060\"\u003e#1060\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - The whole cache stack now survives CI's fresh checkouts, so the GitHub Action's persisted \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e actually warms every layer instead of only the content-addressed ones. The whole-repo scan-result cache moves under the shared per-project cache root (honoring \u003ccode\u003eREACT_DOCTOR_CACHE_DIR\u003c/code\u003e like the lint, sidecar, dead-code, and supply-chain caches — previously it silently escaped the action's cache into \u003ccode\u003enode_modules/.cache\u003c/code\u003e or the OS temp dir), and its key drops every stat-based fingerprint that a re-clone rotates: config files and gitignored dotenv files are now content-hashed, and the toolchain is keyed by package versions (matching the lint ruleset hash) rather than install mtimes. The stat-fingerprinted dead-code caches gain mtime repair (the ninja/restat pattern): entries carry a content-hash witness, and a stat mismatch over identical bytes — every file after a fresh checkout — re-hashes once, accepts the entry, and persists the refreshed stat so the cost is paid once per checkout, not per run. This covers core's whole-project dead-code result cache (per-file \u003ccode\u003e(mtime, size, hash)\u003c/code\u003e records replacing the stats-in-key fingerprint) and deslop-js's incremental summary store (parse summaries, package-reference facts, and the manifest/bundler-config fingerprints feeding the collect/resolution hashes). Expired supply-chain score entries are also pruned past their TTL so restored cache directories stop accumulating dead purls. Everything stays fail-open and byte-identical to an uncached scan; on a re-cloned repo with one changed file, a warm scan now replays ~100% of lint, sidecar, and parse work instead of starting cold.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1056\"\u003e#1056\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Hardened the dead-code result cache key against two silent-staleness classes. The fingerprinted extension and manifest name lists are now imported from \u003ccode\u003edeslop-js/analyzed-inputs\u003c/code\u003e — a new dependency-free subpath export assembled from the same constants deslop's own readers consume — so a deslop upgrade that widens its walk can never under-invalidate the cache. And the key now includes \u003ccode\u003e@react-doctor/core\u003c/code\u003e's own version, so upgrading react-doctor re-analyzes instead of replaying cached diagnostics shaped by an older core's post-processing. The cache schema-version constant remains for cache-format changes only.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1053\"\u003e#1053\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rescans now skip the dead-code analysis entirely when nothing it reads has changed. The pass persists its diagnostics keyed by a fingerprint over the analyzed source tree (stat-based, so additions, deletions, and edits all invalidate), the project's manifests, tsconfigs, lockfiles, knip/entry/ignore configuration, and the analyzer version — on an unchanged-input rerun the stored result replays instead of re-walking the whole import graph, cutting several seconds off warm rescans of large repos. Only complete, successful passes are stored; \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1057\"\u003e#1057\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Dead-code analysis is now incremental across scans. deslop-js gains an opt-in \u003ccode\u003eincrementalCachePath\u003c/code\u003e config field: one stat walk per run (following directory symlinks, like the glob scans it stands in for) validates four independently keyed layers — per-file parse summaries (mtime+size), the collected file list, the module-resolution map (dropped whenever the file set or a bundler/tsconfig-like config changes, since resolution is file-set-dependent), and the per-file package-reference facts behind the unused-dependency content scans. The same walk also answers the stale-package file-discovery globs (config/docs/rescue/package.json/nx/tsconfig scans, verified byte-identical against fast-glob), so a cached run never re-walks the tree for them. Entry resolution deliberately stays live every run (it reads config/doc/sibling-source content no fingerprint can validate); on cached runs it moves to a dedicated worker thread so its filesystem work overlaps the main-thread analysis instead of serializing after it. Every layer fails open — corrupt, truncated, or version/config-mismatched stores degrade to a fresh computation, never a wrong result — writes are atomic and skipped when clean, and results are byte-identical to an uncached run. Unused-export detection also indexes re-export edges by source module, dropping an O(entry points × edges) scan that dominated the detector on large repos.\u003c/p\u003e\n\u003cp\u003ereact-doctor points the analysis worker at a per-project summary store next to the existing whole-result dead-code cache, so a changed-files rescan of a large repo re-parses only what changed (sentry, 9k files: ~8.0s → ~3.2s with 0-10 files edited; ~4.0s after adding a file; the cache-fill run costs the same as an uncached scan). The worker also stops running the discarded DRY-pattern redundancy detectors (\u003ccode\u003ereportRedundancy: false\u003c/code\u003e), which shrinks the summary store by dropping fields only those detectors read, and reports the cache outcome as \u003ccode\u003edeadCode.summaryCacheHits\u003c/code\u003e / \u003ccode\u003edeadCode.summaryCacheMisses\u003c/code\u003e in anonymized telemetry (absent whenever no analysis consulted the store). \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_DEAD_CODE_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1054\"\u003e#1054\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Instant reruns now also work with uncommitted changes: the whole-repo scan-result cache no longer requires a clean worktree — it keys on the exact dirty state (every modified, staged, renamed, deleted, and untracked path plus a hash of its content), so rescanning the same work-in-progress tree hits the cache while any edit still invalidates it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1052\"\u003e#1052\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Restore instant reruns on large repos: raise \u003ccode\u003erunGit\u003c/code\u003e's output cap so the whole-repo scan-result cache works past ~15k tracked files.\u003c/p\u003e\n\u003cp\u003eThe cache's clean-worktree gates shell out to git through a helper that used Node's default 1 MiB \u003ccode\u003emaxBuffer\u003c/code\u003e. On repos with roughly 15-25k tracked files (getsentry/sentry: 20,343), \u003ccode\u003egit ls-files -v\u003c/code\u003e alone exceeds that, \u003ccode\u003eexecFileSync\u003c/code\u003e throws ENOBUFS, the helper swallows it into \u003ccode\u003enull\u003c/code\u003e, and the gates read \u003ccode\u003enull\u003c/code\u003e as \u0026quot;hidden tracked state\u0026quot; — so the cache silently never stored or served a scan on exactly the repos where the instant-rerun path saves the most time. The helper now runs with an explicit 64 MiB cap, which clears monorepos with hundreds of thousands of files while still bounding a pathological child process.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1058\"\u003e#1058\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Warm rescans now skip the cross-file lint sidecar for files whose dependencies are unchanged. Previously the per-file lint cache replayed most rules but re-linted EVERY file with the cross-file ruleset (\u003ccode\u003eno-barrel-import\u003c/code\u003e, the Next.js metadata/Suspense rules, \u003ccode\u003eno-mutating-reducer-state\u003c/code\u003e, the React Native text rules) on every scan, because a sibling edit can flip an unchanged file's verdict. Each file now carries a dependency fingerprint — the exact set of filesystem probes (resolved import targets, barrel chains, ancestor layouts, nearest package.json/tsconfig, and the negative resolution candidates that catch shadowing) its cross-file rules consulted — and the sidecar replays the stored diagnostics when every probe still answers the same, re-linting only files whose dependency set changed. Every entry fails open (corrupt store, unparseable file, partial lint → fresh re-lint), a cross-file rule without a registered dependency collector re-lints everywhere, and \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e (or the granular \u003ccode\u003eREACT_DOCTOR_NO_SIDECAR_CACHE\u003c/code\u003e) disables it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1059\"\u003e#1059\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bdf80748eb0d186456b30aee30dbe731c06293b3\"\u003e\u003ccode\u003ebdf8074\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Added cache-temperature telemetry to the per-scan Sentry wide event, so cache effectiveness is queryable at a glance instead of being inferred from per-subsystem dims. \u003ccode\u003ecache.temperature\u003c/code\u003e classifies every scan as \u003ccode\u003eturbo\u003c/code\u003e (whole-repo scan-result replay — now marked by an explicit \u003ccode\u003ewholeRepoCacheHit\u003c/code\u003e flag on the replay path, never inferred from absent dims), \u003ccode\u003ewarm\u003c/code\u003e (any incremental reuse across the per-file lint, sidecar, or dead-code caches), \u003ccode\u003ecold\u003c/code\u003e (caches on, zero reuse), or \u003ccode\u003edisabled\u003c/code\u003e (the global \u003ccode\u003eREACT_DOCTOR_NO_CACHE\u003c/code\u003e off-switch). \u003ccode\u003ecache.warmth\u003c/code\u003e is the numeric headline magnitude in [0, 1] — the plain mean of the known subsystem reuse fractions, skipping subsystems that never consulted a cache. The existing per-subsystem dims (\u003ccode\u003elint.cacheHitRatio\u003c/code\u003e, \u003ccode\u003elint.sidecarReplayRatio\u003c/code\u003e, \u003ccode\u003edeadCode.cacheHit\u003c/code\u003e, \u003ccode\u003edeadCode.summaryCacheHits/Misses\u003c/code\u003e) are unchanged. Telemetry-only: no new counters, no JSON-report or cache-schema changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/20d81f6f26dc8f0562118076f835da2468591d5f\"\u003e\u003ccode\u003e20d81f6\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003edeslop-js@0.7.0\u003c/li\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.7.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.6.3\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/millionco/react-doctor/pull/1045\"\u003e#1045\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/fc75a3e361251885c7325324f2ab6812255b0c18\"\u003e\u003ccode\u003efc75a3e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Balance lint batches by file size (LPT) so one oversized batch no longer sets the whole scan's wall clock. The full-scan batcher greedily filled 100-file chunks in discovery order, so a directory of large files (generated modules, vendored bundles, big test fixtures — adjacent in \u003ccode\u003egit ls-files\u003c/code\u003e order) all landed in ONE batch: on a 619-file corpus with six ~240 KB files that straggler batch ran ~7.5 s while the other six workers finished in ~1 s and idled — and a big enough cluster can trip the 60 s per-batch timeout and drop files. The planner now keeps the same batch count (and therefore the same subprocess count and CPU) but assigns files largest-first to the least-loaded batch, so every batch carries an even share of files and bytes: 2.2× faster wall clock on the skewed corpus (9.7 s → 4.3 s), no measurable change on uniform repos, and diagnostics verified byte-identical on both. Splitting into MORE batches to feed idle workers was measured to regress (each extra concurrent subprocess pays a contended cold start that outweighs its smaller file share) and is deliberately not done. \u003ccode\u003eREACT_DOCTOR_LINT_BATCH_ORDERING=arrival\u003c/code\u003e rolls back to the old greedy chunking; the previous opt-in \u003ccode\u003ecost\u003c/code\u003e mode (sort-descending-then-chunk, which concentrated the heavy files instead of spreading them) is superseded by the balanced plan.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/1046\"\u003e#1046\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/59e817858240d4a4986ff03b8bb4f7d3355e22c6\"\u003e\u003ccode\u003e59e8178\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop lint's pre-spawn setup from starving the overlapped security-scan and supply-chain passes.\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/millionco/react-doctor/commit/160f84c6ccaf36312ef44a585547bb32b72c2aa6\"\u003e\u003ccode\u003e160f84c\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1063\"\u003e#1063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/6b21b70d1acf50c23df170f3751479b2cb295909\"\u003e\u003ccode\u003e6b21b70\u003c/code\u003e\u003c/a\u003e feat(core): surface reactDetected so a gated-off scan can't pass for clean (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/574cba6e94b99776cfad671fe6709a24ea919624\"\u003e\u003ccode\u003e574cba6\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1055\"\u003e#1055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ced746f518f11e8283d488c4ff31c44e478bb0e5\"\u003e\u003ccode\u003eced746f\u003c/code\u003e\u003c/a\u003e fix(core): make the cache stack survive CI checkouts and the action cache (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/bdf80748eb0d186456b30aee30dbe731c06293b3\"\u003e\u003ccode\u003ebdf8074\u003c/code\u003e\u003c/a\u003e feat(telemetry): classify every scan's cache temperature in the wide event (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea9a77511760635f09022d48b29fefb5602c07e8\"\u003e\u003ccode\u003eea9a775\u003c/code\u003e\u003c/a\u003e perf(core): incremental cross-file sidecar lint via dependency probe traces (...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ce4925008d37d7c86a234e6b9c7c2c3afe873405\"\u003e\u003ccode\u003ece49250\u003c/code\u003e\u003c/a\u003e perf(core): incremental dead-code analysis via a per-file summary cache (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1057\"\u003e#1057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/8c004f07fa69fdbed5f2f2ad19cfabfbf9d670e3\"\u003e\u003ccode\u003e8c004f0\u003c/code\u003e\u003c/a\u003e perf(cli): key the scan-result cache on dirty worktree content instead of bai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/e257a5ed3fb17286a9f55dfec0772ab8a91574b1\"\u003e\u003ccode\u003ee257a5e\u003c/code\u003e\u003c/a\u003e perf(core): cache dead-code results so unchanged rescans skip the analysis (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/157111917d2e4d4834c70cfdd18ed7858f33b632\"\u003e\u003ccode\u003e1571119\u003c/code\u003e\u003c/a\u003e fix(cli): raise runGit maxBuffer so the scan cache works on large repos (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/1052\"\u003e#1052\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.7.1/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `wrangler` from 4.107.0 to 4.108.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cloudflare/workers-sdk/releases\"\u003ewrangler's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ewrangler@4.108.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/cloudflare/workers-sdk/pull/14312\"\u003e#14312\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/54f74b857cf6688a0577a214aa0b6dddb9192aaa\"\u003e\u003ccode\u003e54f74b8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattieTK\"\u003e\u003ccode\u003e@​MattieTK\u003c/code\u003e\u003c/a\u003e! - Delegate agent-driven static Pages deploys to Workers\u003c/p\u003e\n\u003cp\u003eWhen \u003ccode\u003ewrangler pages deploy\u003c/code\u003e or \u003ccode\u003ewrangler pages project create\u003c/code\u003e is run by an AI coding agent against a brand-new, purely static project, Wrangler now delegates it to Workers static assets (using autoconfig) instead of Cloudflare Pages. Accounts that already have Cloudflare Pages projects, non-agent (human) sessions, and projects using Pages features that can't be carried across to Workers (Pages Functions, a \u003ccode\u003e_worker.js\u003c/code\u003e, or a \u003ccode\u003e_routes.json\u003c/code\u003e file) are unaffected and continue to use Pages. Passing \u003ccode\u003e--force\u003c/code\u003e to either command opts out of the delegation and deploys to Pages directly. Once the Workers deploy starts it is not silently swapped back to Pages: if it fails, the error is surfaced and the \u003ccode\u003e--force\u003c/code\u003e opt-out is suggested.\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/cloudflare/workers-sdk/pull/14567\"\u003e#14567\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/08523467752daa79f0f8950a01f35797aa6f3052\"\u003e\u003ccode\u003e0852346\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e! - Update dependencies of \u0026quot;miniflare\u0026quot;, \u0026quot;wrangler\u0026quot;, \u0026quot;create-cloudflare\u0026quot;\u003c/p\u003e\n\u003cp\u003eThe following dependency versions have been updated:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003eFrom\u003c/th\u003e\n\u003cth\u003eTo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eworkerd\u003c/td\u003e\n\u003ctd\u003e1.20260702.1\u003c/td\u003e\n\u003ctd\u003e1.20260706.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003e@​cloudflare/workers-types\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e4.20260702.1\u003c/td\u003e\n\u003ctd\u003e5.20260706.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14312\"\u003e#14312\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/54f74b857cf6688a0577a214aa0b6dddb9192aaa\"\u003e\u003ccode\u003e54f74b8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/MattieTK\"\u003e\u003ccode\u003e@​MattieTK\u003c/code\u003e\u003c/a\u003e! - Avoid silently overwriting an existing Worker during non-interactive deploys that cannot prove they own the name\u003c/p\u003e\n\u003cp\u003eA non-interactive deploy (an agent, CI, or the agent-delegated \u003ccode\u003ewrangler pages deploy\u003c/code\u003e) has no way to prompt before overwriting a Worker, so it now stops if the target name is already taken and this run cannot show it owns that Worker. This applies when there is no Wrangler configuration file naming the Worker and either the name was generated automatically or the deploy is the Pages-to-Workers delegation (where the name carried across is a Pages project name, not proof of Worker ownership). The check reuses the service metadata the deploy already fetches, so it adds no extra API calls.\u003c/p\u003e\n\u003cp\u003eDeploys are unaffected when a configuration file names the Worker (so repeat deployments continue to update it), and interactive deploys keep their existing confirmation flow. To update an existing Worker in one of the guarded cases, add a Wrangler configuration file naming it, or deploy under a different name.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/08523467752daa79f0f8950a01f35797aa6f3052\"\u003e\u003ccode\u003e0852346\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eminiflare@4.20260706.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ewrangler@4.107.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14514\"\u003e#14514\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/d88555edb671668ed7f73e587af9effe6e782f53\"\u003e\u003ccode\u003ed88555e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e! - Update dependencies of \u0026quot;miniflare\u0026quot;, \u0026quot;wrangler\u0026quot;\u003c/p\u003e\n\u003cp\u003eThe following dependency versions have been updated:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eDependency\u003c/th\u003e\n\u003cth\u003eFrom\u003c/th\u003e\n\u003cth\u003eTo\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eworkerd\u003c/td\u003e\n\u003ctd\u003e1.20260701.1\u003c/td\u003e\n\u003ctd\u003e1.20260702.1\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14564\"\u003e#14564\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5fd8bee9eb73a140f8ddb02830851e15d486ca3e\"\u003e\u003ccode\u003e5fd8bee\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jibin7jose\"\u003e\u003ccode\u003e@​jibin7jose\u003c/code\u003e\u003c/a\u003e! - Fix an issue where \u003ccode\u003ewrangler dev\u003c/code\u003e would not override config \u003ccode\u003evars\u003c/code\u003e with values from \u003ccode\u003e.dev.vars\u003c/code\u003e during local development when the \u003ccode\u003esecrets\u003c/code\u003e field was defined in the configuration file.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14332\"\u003e#14332\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5d9990e1d7ee51041ce70c9df359b0352ae57ec6\"\u003e\u003ccode\u003e5d9990e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/Divkix\"\u003e\u003ccode\u003e@​Divkix\u003c/code\u003e\u003c/a\u003e! - Fix misleading error guidance when deploying a new Worker with \u003ccode\u003esecrets.required\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eWhen a Worker declares \u003ccode\u003esecrets.required\u003c/code\u003e and has never been deployed before, the previous error message suggested running \u003ccode\u003ewrangler secret put \u0026lt;NAME\u0026gt;\u003c/code\u003e, which doesn't work because the Worker doesn't exist yet.\u003c/p\u003e\n\u003cp\u003eThe one path that does work — \u003ccode\u003ewrangler deploy --secrets-file \u0026lt;path\u0026gt;\u003c/code\u003e — was not mentioned anywhere in the error output.\u003c/p\u003e\n\u003cp\u003eThe pre-deploy error now explains that \u003ccode\u003ewrangler secret put\u003c/code\u003e cannot be used for a new Worker, and directs users to the \u003ccode\u003e--secrets-file\u003c/code\u003e flag instead. The post-deploy error for existing Workers now also mentions \u003ccode\u003e--secrets-file\u003c/code\u003e alongside \u003ccode\u003ewrangler secret put\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/cloudflare/workers-sdk/pull/14507\"\u003e#14507\u003c/a\u003e \u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/bf49a419e2f98ac770d5ecbf7e9cecdf95d87ce7\"\u003e\u003ccode\u003ebf49a41\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/joey727\"\u003e\u003ccode\u003e@​joey727\u003c/code\u003e\u003c/a\u003e! - Fix a potential crash when displaying certain CLI output\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/cloudflare/workers-sdk/commit/e57b77cc04fe1069cbb09d322c47a408584e0f60\"\u003e\u003ccode\u003ee57b77c\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14592\"\u003e#14592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/08523467752daa79f0f8950a01f35797aa6f3052\"\u003e\u003ccode\u003e0852346\u003c/code\u003e\u003c/a\u003e Bump the workerd-and-workers-types group with 2 updates (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14567\"\u003e#14567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/54f74b857cf6688a0577a214aa0b6dddb9192aaa\"\u003e\u003ccode\u003e54f74b8\u003c/code\u003e\u003c/a\u003e [wrangler] Experiment: redirect agent-driven static Pages deploys to Workers ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/c5d5e893e575b00a62a886d1da395b6246948d18\"\u003e\u003ccode\u003ec5d5e89\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14536\"\u003e#14536\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5fd8bee9eb73a140f8ddb02830851e15d486ca3e\"\u003e\u003ccode\u003e5fd8bee\u003c/code\u003e\u003c/a\u003e fix(wrangler): override config vars with .dev.vars when secrets is de… (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14564\"\u003e#14564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/f416dd983e9c6e4d292317e077dfbe839d2f30c8\"\u003e\u003ccode\u003ef416dd9\u003c/code\u003e\u003c/a\u003e [miniflare] Key local rate limit counters by namespace_id (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14572\"\u003e#14572\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b973ed30015e4e4bface3c0733c33f624066523a\"\u003e\u003ccode\u003eb973ed3\u003c/code\u003e\u003c/a\u003e fix(wrangler): emit an error event for watch-mode rebuild failures (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14561\"\u003e#14561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/b8439fbb289816e30c593ca70466e8c2e9324676\"\u003e\u003ccode\u003eb8439fb\u003c/code\u003e\u003c/a\u003e [miniflare][wrangler] Fix Windows CI flakes: local-explorer ECONNRESET retry,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/1ca8d8f0bbd012a1d65cabadf7b6987b252775e9\"\u003e\u003ccode\u003e1ca8d8f\u003c/code\u003e\u003c/a\u003e [wrangler] Upgrade signal-exit to v4 for ESM compatibility (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14570\"\u003e#14570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cloudflare/workers-sdk/commit/5d9990e1d7ee51041ce70c9df359b0352ae57ec6\"\u003e\u003ccode\u003e5d9990e\u003c/code\u003e\u003c/a\u003e [wrangler] Fix first-deploy guidance for required secrets (\u003ca href=\"https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler/issues/14332\"\u003e#14332\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/cloudflare/workers-sdk/commits/wrangler@4.108.0/packages/wrangler\"\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/PP-Namias/Portfolio/pull/288","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PP-Namias%2FPortfolio/issues/288","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/288/packages"}},{"old_version":"0.5.6","new_version":"0.5.7","update_type":"patch","path":null,"pr_created_at":"2026-06-20T02:42:15.000Z","version_change":"0.5.6 → 0.5.7","issue":{"uuid":"4704845655","node_id":"PR_kwDOSLmlIc7olZWc","number":133,"state":"closed","title":"deps(web): bump the web-minor-patch group across 1 directory with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":"2026-06-22T02:38:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-20T02:42:15.000Z","updated_at":"2026-06-22T02:39:00.000Z","time_to_close":172604,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(web): bump","group_name":"web-minor-patch","update_count":7,"packages":[{"name":"react-doctor","old_version":"0.5.6","new_version":"0.5.7","repository_url":"https://github.com/millionco/react-doctor"},{"name":"@base-ui/react","old_version":"1.5.0","new_version":"1.6.0","repository_url":"https://github.com/mui/base-ui"},{"name":"@tanstack/react-router","old_version":"1.170.15","new_version":"1.170.16","repository_url":"https://github.com/TanStack/router"},{"name":"lucide-react","old_version":"1.18.0","new_version":"1.21.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"@ai-sdk/react","old_version":"3.0.208","new_version":"3.0.210","repository_url":"https://github.com/vercel/ai"},{"name":"ai","old_version":"6.0.206","new_version":"6.0.208","repository_url":"https://github.com/vercel/ai"},{"name":"nanoid","old_version":"5.1.11","new_version":"5.1.14","repository_url":"https://github.com/ai/nanoid"}],"path":null,"ecosystem":"npm"},"body":"Bumps the web-minor-patch group with 7 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.5.6` | `0.5.7` |\n| [@base-ui/react](https://github.com/mui/base-ui/tree/HEAD/packages/react) | `1.5.0` | `1.6.0` |\n| [@tanstack/react-router](https://github.com/TanStack/router/tree/HEAD/packages/react-router) | `1.170.15` | `1.170.16` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.18.0` | `1.21.0` |\n| [@ai-sdk/react](https://github.com/vercel/ai/tree/HEAD/packages/react) | `3.0.208` | `3.0.210` |\n| [ai](https://github.com/vercel/ai/tree/HEAD/packages/ai) | `6.0.206` | `6.0.208` |\n| [nanoid](https://github.com/ai/nanoid) | `5.1.11` | `5.1.14` |\n\n\nUpdates `react-doctor` from 0.5.6 to 0.5.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.5.7\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/millionco/react-doctor/pull/881\"\u003e#881\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/50999f4a09c992d534c86fe248bfdb65dd8ef377\"\u003e\u003ccode\u003e50999f4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003e--debug\u003c/code\u003e flag that prints the run's Sentry trace id at the end of a scan.\u003c/p\u003e\n\u003cp\u003eWhen something looks wrong, run \u003ccode\u003ereact-doctor --debug\u003c/code\u003e: it forces a Sentry performance trace for that run (even if \u003ccode\u003eSENTRY_TRACES_SAMPLE_RATE\u003c/code\u003e was turned down) and prints \u003ccode\u003eSentry trace (mention this when reporting): \u0026lt;id\u0026gt;\u003c/code\u003e as the last line so the id can be pasted into a bug report for maintainers to pull the full trace. It prints on both outcomes — a clean run and a crash (the crash's trace is surfaced even when it happens before the scan span starts). The line goes to stderr, so \u003ccode\u003e--json\u003c/code\u003e / \u003ccode\u003e--score\u003c/code\u003e stdout stays machine-clean. Combining \u003ccode\u003e--debug\u003c/code\u003e with \u003ccode\u003e--no-score\u003c/code\u003e / \u003ccode\u003e--no-telemetry\u003c/code\u003e is rejected up front, since those flags disable the Sentry reporting \u003ccode\u003e--debug\u003c/code\u003e depends on. Telemetry also gains a low-cardinality \u003ccode\u003edebug\u003c/code\u003e run tag so adoption of the flag is visible.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/864\"\u003e#864\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/b317164e3e6bc9a5d7fc0fa4870187a17ba73493\"\u003e\u003ccode\u003eb317164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Make \u003ccode\u003efile:line\u003c/code\u003e diagnostic locations clickable in the terminal, and record which terminal each run uses.\u003c/p\u003e\n\u003cp\u003eDiagnostic locations are now wrapped in OSC 8 hyperlinks pointing at each file's absolute path, so supporting terminals (iTerm2, WezTerm, Kitty, Windows Terminal, VS Code, and other VTE-based emulators) turn them into click-to-open links — even in monorepo scans where the displayed path is relative to a sub-project root rather than the terminal's cwd. The visible text is unchanged (\u003ccode\u003esrc/App.tsx:12\u003c/code\u003e), the link rides in escape sequences, and terminals without OSC 8 support print it exactly as before. Hyperlinks are auto-detected per terminal and can be forced on/off with the standard \u003ccode\u003eFORCE_HYPERLINK\u003c/code\u003e env var; they are off for non-TTYs, CI, and coding agents (whose output parsers shouldn't see the escapes).\u003c/p\u003e\n\u003cp\u003eTelemetry also gains a \u003ccode\u003eterminalKind\u003c/code\u003e run tag (neovim, vscode, iterm, wezterm, kitty, windows-terminal, …) so we can see where React Doctor is actually run. It is a low-cardinality enum with no path, username, or secret.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/863\"\u003e#863\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/740211cf201ee28910c105b59b79e9aa73e1bd45\"\u003e\u003ccode\u003e740211c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a per-project \u003ccode\u003escannedFileCount\u003c/code\u003e to the JSON report's \u003ccode\u003eprojects[]\u003c/code\u003e entries —\nthe number of source files the scan's linter examined (the changed React-eligible\nfiles in diff mode, the whole source tree in a full scan). It's additive and\noptional, so the \u003ccode\u003eschemaVersion\u003c/code\u003e is unchanged and existing consumers are unaffected.\u003c/p\u003e\n\u003cp\u003eThis lets the GitHub Action tell \u0026quot;a PR that changed no React-eligible files\u0026quot; (the\nlinter examined nothing — \u003ccode\u003escannedFileCount: 0\u003c/code\u003e for every project) apart from \u0026quot;a\nclean scan of real React changes\u0026quot; (\u003ccode\u003escannedFileCount \u0026gt;= 1\u003c/code\u003e), which previously\nproduced identical reports. The Action now treats the former as a no-op: it skips\nthe sticky PR comment entirely and the commit status reads \u0026quot;Skipped — no React\nfiles changed\u0026quot; instead of a zero-filled score line. A clean scan of real React\nchanges still posts its \u0026quot;no issues 🎉\u0026quot; comment.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/844\"\u003e#844\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eafac9d4f1d52f68258306ad037841a981a9d6cf\"\u003e\u003ccode\u003eeafac9d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop recommending the deprecated \u003ccode\u003e--diff\u003c/code\u003e flag in agent-facing guidance (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/834\"\u003e#834\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe CLI \u0026quot;Agent guidance\u0026quot; section, the installed agent hooks, and the \u003ccode\u003e--help\u003c/code\u003e examples all advised running \u003ccode\u003ereact-doctor --verbose --diff\u003c/code\u003e, which now prints a deprecation warning on every run. They now recommend the supported \u003ccode\u003e--scope changed\u003c/code\u003e (pass \u003ccode\u003e--base \u0026lt;ref\u0026gt;\u003c/code\u003e to pin the base). The website \u003ccode\u003ellms.txt\u003c/code\u003e and the \u003ccode\u003ereact-doctor\u003c/code\u003e skill reference were updated to match.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/832\"\u003e#832\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/f45cb297ef89320bfa0b8f5d52ecbfdb3ad3552c\"\u003e\u003ccode\u003ef45cb29\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix a false-positive \u003ccode\u003edeslop/unused-file\u003c/code\u003e for a file imported only by a file in \u003ccode\u003eignore.files\u003c/code\u003e. Ignored files are now kept in the dead-code dependency graph (only their reporting is suppressed), so a module reachable solely through an ignored file is no longer flagged as unused.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/851\"\u003e#851\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/1e260c5d219391dbdf18e1cfd729dbc97b3806fb\"\u003e\u003ccode\u003e1e260c5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show the \u0026quot;Add React Doctor to CI\u0026quot; and \u0026quot;install React Doctor\u0026quot; pitches once per repo instead of on every scan.\u003c/p\u003e\n\u003cp\u003eThe post-scan handoff re-asked the CI question on every run, and the agent install hint re-printed every run because its opt-out store was built but never written. Both now record a per-repo answer (reusing the existing once-per-repo \u003ccode\u003eConf\u003c/code\u003e pattern) and stay quiet afterward — the first-run experience is unchanged, only the repetition stops.\u003c/p\u003e\n\u003cp\u003eThe agent copy-prompt no longer carries the CI marketing preamble at all. The interactive handoff prompt is now the single once-per-repo pitch, so the agent is never instructed to re-ask what the user was just asked — capable agents were flagging that preamble as social-engineering and it was eroding trust in the actual diagnostics.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/848\"\u003e#848\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/431e515260a209088c2305c6372249009dd95474\"\u003e\u003ccode\u003e431e515\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop a broken \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e install from sinking the whole lint pass, and fix the misleading error it produced (issue \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/833\"\u003e#833\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eWhen the optional \u003ccode\u003ereact-hooks-js\u003c/code\u003e (React Compiler) plugin can't be imported in the user's environment, oxlint fails the entire config load — which previously dropped every curated react-doctor diagnostic too and left the scan with \u003ccode\u003eskippedChecks: [\u0026quot;lint\u0026quot;]\u003c/code\u003e and zero results. The oxlint error is also multi-line, and the 200-char error preview truncated its plugin path mid-string (often right at \u003ccode\u003e…/node_modules/\u003c/code\u003e), so it read as react-doctor passing an invalid directory rather than a plugin that failed to load.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful degradation:\u003c/strong\u003e the oxlint runner now detects a \u003ccode\u003ereact-hooks-js\u003c/code\u003e plugin-load failure and retries once with that plugin (and its compiler rules) dropped — mirroring the existing adopted-\u003ccode\u003eextends\u003c/code\u003e fallback. The curated react-doctor rules, dead-code, and environment checks all still run; only the React Compiler rules are skipped, surfaced as a clear \u003ccode\u003elint:partial\u003c/code\u003e note that includes oxlint's real underlying reason.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReadable error:\u003c/strong\u003e the unparseable-output preview grew from 200 to 600 chars so the full plugin path and the underlying \u003ccode\u003eError:\u003c/code\u003e line survive instead of being cut at \u003ccode\u003e…/node_modules/\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/857\"\u003e#857\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/17389ba4feb07a54727100623b1b5a4ecc061e85\"\u003e\u003ccode\u003e17389ba\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show a syntax-highlighted source snippet in \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003ebuildCodeFrame\u003c/code\u003e util already powers the source frames in the scan summary, but the \u003ccode\u003ewhy\u003c/code\u003e command (the single-location explain path) never called it — so explaining a diagnostic printed the rule, category, help, and suppression hint with no view of the offending code. It now renders the same code frame directly under the headline, with the caret on the offending column (or the whole line span for a multi-site diagnostic). When the file can't be read or the line is minified, it falls back to the existing text-only output.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/882\"\u003e#882\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/a9d27134c4a5124b30f7a82f4ac3e4fd3339845c\"\u003e\u003ccode\u003ea9d2713\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Group findings that a single fix resolves into one root-cause task.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.7\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/millionco/react-doctor/pull/881\"\u003e#881\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/50999f4a09c992d534c86fe248bfdb65dd8ef377\"\u003e\u003ccode\u003e50999f4\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003e--debug\u003c/code\u003e flag that prints the run's Sentry trace id at the end of a scan.\u003c/p\u003e\n\u003cp\u003eWhen something looks wrong, run \u003ccode\u003ereact-doctor --debug\u003c/code\u003e: it forces a Sentry performance trace for that run (even if \u003ccode\u003eSENTRY_TRACES_SAMPLE_RATE\u003c/code\u003e was turned down) and prints \u003ccode\u003eSentry trace (mention this when reporting): \u0026lt;id\u0026gt;\u003c/code\u003e as the last line so the id can be pasted into a bug report for maintainers to pull the full trace. It prints on both outcomes — a clean run and a crash (the crash's trace is surfaced even when it happens before the scan span starts). The line goes to stderr, so \u003ccode\u003e--json\u003c/code\u003e / \u003ccode\u003e--score\u003c/code\u003e stdout stays machine-clean. Combining \u003ccode\u003e--debug\u003c/code\u003e with \u003ccode\u003e--no-score\u003c/code\u003e / \u003ccode\u003e--no-telemetry\u003c/code\u003e is rejected up front, since those flags disable the Sentry reporting \u003ccode\u003e--debug\u003c/code\u003e depends on. Telemetry also gains a low-cardinality \u003ccode\u003edebug\u003c/code\u003e run tag so adoption of the flag is visible.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/864\"\u003e#864\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/b317164e3e6bc9a5d7fc0fa4870187a17ba73493\"\u003e\u003ccode\u003eb317164\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Make \u003ccode\u003efile:line\u003c/code\u003e diagnostic locations clickable in the terminal, and record which terminal each run uses.\u003c/p\u003e\n\u003cp\u003eDiagnostic locations are now wrapped in OSC 8 hyperlinks pointing at each file's absolute path, so supporting terminals (iTerm2, WezTerm, Kitty, Windows Terminal, VS Code, and other VTE-based emulators) turn them into click-to-open links — even in monorepo scans where the displayed path is relative to a sub-project root rather than the terminal's cwd. The visible text is unchanged (\u003ccode\u003esrc/App.tsx:12\u003c/code\u003e), the link rides in escape sequences, and terminals without OSC 8 support print it exactly as before. Hyperlinks are auto-detected per terminal and can be forced on/off with the standard \u003ccode\u003eFORCE_HYPERLINK\u003c/code\u003e env var; they are off for non-TTYs, CI, and coding agents (whose output parsers shouldn't see the escapes).\u003c/p\u003e\n\u003cp\u003eTelemetry also gains a \u003ccode\u003eterminalKind\u003c/code\u003e run tag (neovim, vscode, iterm, wezterm, kitty, windows-terminal, …) so we can see where React Doctor is actually run. It is a low-cardinality enum with no path, username, or secret.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/863\"\u003e#863\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/740211cf201ee28910c105b59b79e9aa73e1bd45\"\u003e\u003ccode\u003e740211c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add a per-project \u003ccode\u003escannedFileCount\u003c/code\u003e to the JSON report's \u003ccode\u003eprojects[]\u003c/code\u003e entries —\nthe number of source files the scan's linter examined (the changed React-eligible\nfiles in diff mode, the whole source tree in a full scan). It's additive and\noptional, so the \u003ccode\u003eschemaVersion\u003c/code\u003e is unchanged and existing consumers are unaffected.\u003c/p\u003e\n\u003cp\u003eThis lets the GitHub Action tell \u0026quot;a PR that changed no React-eligible files\u0026quot; (the\nlinter examined nothing — \u003ccode\u003escannedFileCount: 0\u003c/code\u003e for every project) apart from \u0026quot;a\nclean scan of real React changes\u0026quot; (\u003ccode\u003escannedFileCount \u0026gt;= 1\u003c/code\u003e), which previously\nproduced identical reports. The Action now treats the former as a no-op: it skips\nthe sticky PR comment entirely and the commit status reads \u0026quot;Skipped — no React\nfiles changed\u0026quot; instead of a zero-filled score line. A clean scan of real React\nchanges still posts its \u0026quot;no issues 🎉\u0026quot; comment.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/844\"\u003e#844\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eafac9d4f1d52f68258306ad037841a981a9d6cf\"\u003e\u003ccode\u003eeafac9d\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop recommending the deprecated \u003ccode\u003e--diff\u003c/code\u003e flag in agent-facing guidance (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/834\"\u003e#834\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe CLI \u0026quot;Agent guidance\u0026quot; section, the installed agent hooks, and the \u003ccode\u003e--help\u003c/code\u003e examples all advised running \u003ccode\u003ereact-doctor --verbose --diff\u003c/code\u003e, which now prints a deprecation warning on every run. They now recommend the supported \u003ccode\u003e--scope changed\u003c/code\u003e (pass \u003ccode\u003e--base \u0026lt;ref\u0026gt;\u003c/code\u003e to pin the base). The website \u003ccode\u003ellms.txt\u003c/code\u003e and the \u003ccode\u003ereact-doctor\u003c/code\u003e skill reference were updated to match.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/832\"\u003e#832\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/f45cb297ef89320bfa0b8f5d52ecbfdb3ad3552c\"\u003e\u003ccode\u003ef45cb29\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix a false-positive \u003ccode\u003edeslop/unused-file\u003c/code\u003e for a file imported only by a file in \u003ccode\u003eignore.files\u003c/code\u003e. Ignored files are now kept in the dead-code dependency graph (only their reporting is suppressed), so a module reachable solely through an ignored file is no longer flagged as unused.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/851\"\u003e#851\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/1e260c5d219391dbdf18e1cfd729dbc97b3806fb\"\u003e\u003ccode\u003e1e260c5\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show the \u0026quot;Add React Doctor to CI\u0026quot; and \u0026quot;install React Doctor\u0026quot; pitches once per repo instead of on every scan.\u003c/p\u003e\n\u003cp\u003eThe post-scan handoff re-asked the CI question on every run, and the agent install hint re-printed every run because its opt-out store was built but never written. Both now record a per-repo answer (reusing the existing once-per-repo \u003ccode\u003eConf\u003c/code\u003e pattern) and stay quiet afterward — the first-run experience is unchanged, only the repetition stops.\u003c/p\u003e\n\u003cp\u003eThe agent copy-prompt no longer carries the CI marketing preamble at all. The interactive handoff prompt is now the single once-per-repo pitch, so the agent is never instructed to re-ask what the user was just asked — capable agents were flagging that preamble as social-engineering and it was eroding trust in the actual diagnostics.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/848\"\u003e#848\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/431e515260a209088c2305c6372249009dd95474\"\u003e\u003ccode\u003e431e515\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Stop a broken \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e install from sinking the whole lint pass, and fix the misleading error it produced (issue \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/833\"\u003e#833\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eWhen the optional \u003ccode\u003ereact-hooks-js\u003c/code\u003e (React Compiler) plugin can't be imported in the user's environment, oxlint fails the entire config load — which previously dropped every curated react-doctor diagnostic too and left the scan with \u003ccode\u003eskippedChecks: [\u0026quot;lint\u0026quot;]\u003c/code\u003e and zero results. The oxlint error is also multi-line, and the 200-char error preview truncated its plugin path mid-string (often right at \u003ccode\u003e…/node_modules/\u003c/code\u003e), so it read as react-doctor passing an invalid directory rather than a plugin that failed to load.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGraceful degradation:\u003c/strong\u003e the oxlint runner now detects a \u003ccode\u003ereact-hooks-js\u003c/code\u003e plugin-load failure and retries once with that plugin (and its compiler rules) dropped — mirroring the existing adopted-\u003ccode\u003eextends\u003c/code\u003e fallback. The curated react-doctor rules, dead-code, and environment checks all still run; only the React Compiler rules are skipped, surfaced as a clear \u003ccode\u003elint:partial\u003c/code\u003e note that includes oxlint's real underlying reason.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eReadable error:\u003c/strong\u003e the unparseable-output preview grew from 200 to 600 chars so the full plugin path and the underlying \u003ccode\u003eError:\u003c/code\u003e line survive instead of being cut at \u003ccode\u003e…/node_modules/\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/857\"\u003e#857\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/17389ba4feb07a54727100623b1b5a4ecc061e85\"\u003e\u003ccode\u003e17389ba\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Show a syntax-highlighted source snippet in \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003ebuildCodeFrame\u003c/code\u003e util already powers the source frames in the scan summary, but the \u003ccode\u003ewhy\u003c/code\u003e command (the single-location explain path) never called it — so explaining a diagnostic printed the rule, category, help, and suppression hint with no view of the offending code. It now renders the same code frame directly under the headline, with the caret on the offending column (or the whole line span for a multi-site diagnostic). When the file can't be read or the line is minified, it falls back to the existing text-only output.\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/millionco/react-doctor/commit/96b5bb4e5b37e3f5d1da2fa85e38f78edb732da0\"\u003e\u003ccode\u003e96b5bb4\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/827\"\u003e#827\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/869f220d97c1c30cb3e0d6897833f9db372667bb\"\u003e\u003ccode\u003e869f220\u003c/code\u003e\u003c/a\u003e feat(cli): warn before mass-fixing a migration-scale bucket (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/884\"\u003e#884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/a9d27134c4a5124b30f7a82f4ac3e4fd3339845c\"\u003e\u003ccode\u003ea9d2713\u003c/code\u003e\u003c/a\u003e feat(cli): group findings a single fix resolves into one root-cause task (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/882\"\u003e#882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/740211cf201ee28910c105b59b79e9aa73e1bd45\"\u003e\u003ccode\u003e740211c\u003c/code\u003e\u003c/a\u003e feat(action): skip the PR comment + mark the status \u0026quot;skipped\u0026quot; when no React f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/50999f4a09c992d534c86fe248bfdb65dd8ef377\"\u003e\u003ccode\u003e50999f4\u003c/code\u003e\u003c/a\u003e feat(cli): add --debug to surface the run's Sentry trace id (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/881\"\u003e#881\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/93b796d4161d96dcfbcbefa2b76d4921f6034aa3\"\u003e\u003ccode\u003e93b796d\u003c/code\u003e\u003c/a\u003e refactor: elegance pass — remove dead code, dead branches, and redundant abst...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/3f7d0e7ddb055b4970cba2b393ce14f6615732e4\"\u003e\u003ccode\u003e3f7d0e7\u003c/code\u003e\u003c/a\u003e fix(no-danger): ship default-off so it stops blanket-flagging safe dangerousl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/b317164e3e6bc9a5d7fc0fa4870187a17ba73493\"\u003e\u003ccode\u003eb317164\u003c/code\u003e\u003c/a\u003e feat(cli): clickable OSC-8 file locations + terminalKind telemetry (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/864\"\u003e#864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/80574975084d71741b69340acb6be1e03f045f1b\"\u003e\u003ccode\u003e8057497\u003c/code\u003e\u003c/a\u003e fix(action): resolve PR changed-file paths against the scanned directory (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/85\"\u003e#85\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/17389ba4feb07a54727100623b1b5a4ecc061e85\"\u003e\u003ccode\u003e17389ba\u003c/code\u003e\u003c/a\u003e fix(cli): show the source code frame in \u003ccode\u003ewhy \\\u0026lt;file\u0026gt;:\\\u0026lt;line\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/857\"\u003e#857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.5.7/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@base-ui/react` from 1.5.0 to 1.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mui/base-ui/releases\"\u003e@​base-ui/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect inaccurate prop JSDoc (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5036\"\u003e#5036\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the hook value when store/arguments change (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4866\"\u003e#4866\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore viewport morphing after reopen for kept-mounted popups (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5010\"\u003e#5010\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pseudo-element bounds in dev mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5000\"\u003e#5000\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAccordion\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger behavior bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4833\"\u003e#4833\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove region role from \u003ccode\u003eAccordion.Root\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4961\"\u003e#4961\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlign keyboard navigation with APG (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4965\"\u003e#4965\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix programmatic focus return (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4849\"\u003e#4849\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKeep ArrowLeft/ArrowRight on the input caret in grid mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4948\"\u003e#4948\u003c/a\u003e) by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003eopen\u003c/code\u003e requirement for the \u003ccode\u003einline\u003c/code\u003e prop (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5069\"\u003e#5069\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAvatar\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix image status edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4835\"\u003e#4835\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore \u003ccode\u003edata-focused\u003c/code\u003e Field attribute when disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4998\"\u003e#4998\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix extra \u003ccode\u003evalidate\u003c/code\u003e fn calls (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4911\"\u003e#4911\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox Group\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parent checkbox with custom \u003ccode\u003evalidate\u003c/code\u003e fn (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4912\"\u003e#4912\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix validation with multiple required checkboxes (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4958\"\u003e#4958\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward group ids (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4997\"\u003e#4997\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCollapsible\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger and panel state bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4848\"\u003e#4848\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix chip context error (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep ArrowLeft/ArrowRight on the input caret in grid mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4948\"\u003e#4948\u003c/a\u003e) by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAvoid re-rendering every item on each keystroke (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/flaviendelangle\"\u003e\u003ccode\u003e@​flaviendelangle\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix autofill and selected state edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4972\"\u003e#4972\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mui/base-ui/blob/master/CHANGELOG.md\"\u003e@​base-ui/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eJun 18, 2026\u003c/em\u003e\u003c/p\u003e\n\u003ch3\u003eGeneral changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCorrect inaccurate prop JSDoc (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5036\"\u003e#5036\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the hook value when store/arguments change (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4866\"\u003e#4866\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRestore viewport morphing after reopen for kept-mounted popups (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5010\"\u003e#5010\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix pseudo-element bounds in dev mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5000\"\u003e#5000\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAccordion\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger behavior bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4833\"\u003e#4833\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove region role from \u003ccode\u003eAccordion.Root\u003c/code\u003e (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4961\"\u003e#4961\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlign keyboard navigation with APG (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4965\"\u003e#4965\u003c/a\u003e) by \u003ca href=\"https://github.com/chuganzy\"\u003e\u003ccode\u003e@​chuganzy\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAlert Dialog\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix programmatic focus return (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4849\"\u003e#4849\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAutocomplete\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKeep ArrowLeft/ArrowRight on the input caret in grid mode (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4948\"\u003e#4948\u003c/a\u003e) by \u003ca href=\"https://github.com/spokodev\"\u003e\u003ccode\u003e@​spokodev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument \u003ccode\u003eopen\u003c/code\u003e requirement for the \u003ccode\u003einline\u003c/code\u003e prop (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5069\"\u003e#5069\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAvatar\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix image status edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4835\"\u003e#4835\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIgnore \u003ccode\u003edata-focused\u003c/code\u003e Field attribute when disabled (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4998\"\u003e#4998\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix extra \u003ccode\u003evalidate\u003c/code\u003e fn calls (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4911\"\u003e#4911\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCheckbox Group\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix parent group cancellation and indeterminate state (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4941\"\u003e#4941\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix parent checkbox with custom \u003ccode\u003evalidate\u003c/code\u003e fn (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4912\"\u003e#4912\u003c/a\u003e) by \u003ca href=\"https://github.com/mj12albert\"\u003e\u003ccode\u003e@​mj12albert\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix validation with multiple required checkboxes (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4958\"\u003e#4958\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eForward group ids (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4997\"\u003e#4997\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCollapsible\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix trigger and panel state bugs (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4848\"\u003e#4848\u003c/a\u003e) by \u003ca href=\"https://github.com/atomiks\"\u003e\u003ccode\u003e@​atomiks\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCombobox\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix chip context error (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/lyzno1\"\u003e\u003ccode\u003e@​lyzno1\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/mui/base-ui/commit/b34551d644f2e58ebf8fc1050d949f6654ceca6c\"\u003e\u003ccode\u003eb34551d\u003c/code\u003e\u003c/a\u003e [code-infra] Fix package publishing (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5074\"\u003e#5074\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/615b0e8e7764b736cd89ba363b1acd5321c1275d\"\u003e\u003ccode\u003e615b0e8\u003c/code\u003e\u003c/a\u003e [release] v1.6.0 (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5064\"\u003e#5064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/8b7ca5d862aa0fba68f49b64534d794cfb417b9c\"\u003e\u003ccode\u003e8b7ca5d\u003c/code\u003e\u003c/a\u003e [test] Restore slider listener spies (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5072\"\u003e#5072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/250252475404d9519de4e12b7e2b530dd627114e\"\u003e\u003ccode\u003e2502524\u003c/code\u003e\u003c/a\u003e [combobox][autocomplete] Document \u003ccode\u003eopen\u003c/code\u003e requirement for the \u003ccode\u003einline\u003c/code\u003e prop (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/4c33d7427fd756e6f6531f5826966d4911f9cfaf\"\u003e\u003ccode\u003e4c33d74\u003c/code\u003e\u003c/a\u003e [slider] Fix touchend listener accumulation leak (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5070\"\u003e#5070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/d169cd58f078fecaf69c75f426b71b1a015aa3a5\"\u003e\u003ccode\u003ed169cd5\u003c/code\u003e\u003c/a\u003e [combobox] Fix autofill and selected state edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4972\"\u003e#4972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/2d8b8f6a3a3cc432960777eb815c7c2ee297d037\"\u003e\u003ccode\u003e2d8b8f6\u003c/code\u003e\u003c/a\u003e [avatar] Fix image status edge cases (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4835\"\u003e#4835\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/ee3c13a0e3f735387d58ae926cd6e970ac63e266\"\u003e\u003ccode\u003eee3c13a\u003c/code\u003e\u003c/a\u003e [select] Skip disabled items in typeahead and fix multiple-mode serialization...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/b167c8561403e62369eff1d43583135415609af0\"\u003e\u003ccode\u003eb167c85\u003c/code\u003e\u003c/a\u003e [drawer] Commit swipe on primary-button release (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/5057\"\u003e#5057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mui/base-ui/commit/e972d74f9210850987ffd1964529d14f93a467b3\"\u003e\u003ccode\u003ee972d74\u003c/code\u003e\u003c/a\u003e [combobox] Avoid re-rendering every item on each keystroke (\u003ca href=\"https://github.com/mui/base-ui/tree/HEAD/packages/react/issues/4964\"\u003e#4964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mui/base-ui/commits/v1.6.0/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-router` from 1.170.15 to 1.170.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/router/releases\"\u003e@​tanstack/react-router's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-router\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.170.16\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/TanStack/router/pull/7595\"\u003e#7595\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/52db7034fd83b17cc45da9ba775ec253f2a9a149\"\u003e\u003ccode\u003e52db703\u003c/code\u003e\u003c/a\u003e - Perf improvement of useMatch and derived hooks when navigating away from previous match\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7575\"\u003e#7575\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/4a93cffffca34702e419bc47db827f964fd0cb65\"\u003e\u003ccode\u003e4a93cff\u003c/code\u003e\u003c/a\u003e - useMatches can skip useRef for structural sharing during SSR\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7600\"\u003e#7600\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/f046b064d32222cad0b7ea061311ca9a474f5990\"\u003e\u003ccode\u003ef046b06\u003c/code\u003e\u003c/a\u003e - Reduce Match rerenders during navigations (PR \u003ca href=\"https://redirect.github.com/TanStack/router/issues/7596\"\u003e#7596\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7577\"\u003e#7577\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689d88e04c48ec76a18453ab8b82d8d58f2668b6\"\u003e\u003ccode\u003e689d88e\u003c/code\u003e\u003c/a\u003e - Reduce bundle size by sharing structuralSharing selector logic\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7627\"\u003e#7627\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689c5ab32e9bb18d90a5a94c33237b0e418df3e3\"\u003e\u003ccode\u003e689c5ab\u003c/code\u003e\u003c/a\u003e - Silence AbortError in renderRouterToStream, this is normal operation\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/router/blob/main/packages/react-router/CHANGELOG.md\"\u003e@​tanstack/react-router's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.170.16\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/TanStack/router/pull/7595\"\u003e#7595\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/52db7034fd83b17cc45da9ba775ec253f2a9a149\"\u003e\u003ccode\u003e52db703\u003c/code\u003e\u003c/a\u003e - Perf improvement of useMatch and derived hooks when navigating away from previous match\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7575\"\u003e#7575\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/4a93cffffca34702e419bc47db827f964fd0cb65\"\u003e\u003ccode\u003e4a93cff\u003c/code\u003e\u003c/a\u003e - useMatches can skip useRef for structural sharing during SSR\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7600\"\u003e#7600\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/f046b064d32222cad0b7ea061311ca9a474f5990\"\u003e\u003ccode\u003ef046b06\u003c/code\u003e\u003c/a\u003e - Reduce Match rerenders during navigations (PR \u003ca href=\"https://redirect.github.com/TanStack/router/issues/7596\"\u003e#7596\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7577\"\u003e#7577\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689d88e04c48ec76a18453ab8b82d8d58f2668b6\"\u003e\u003ccode\u003e689d88e\u003c/code\u003e\u003c/a\u003e - Reduce bundle size by sharing structuralSharing selector logic\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/TanStack/router/pull/7627\"\u003e#7627\u003c/a\u003e \u003ca href=\"https://github.com/TanStack/router/commit/689c5ab32e9bb18d90a5a94c33237b0e418df3e3\"\u003e\u003ccode\u003e689c5ab\u003c/code\u003e\u003c/a\u003e - Silence AbortError in renderRouterToStream, this is normal operation\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/TanStack/router/commit/f23ed0fe737b3d856ca76f4fa3d2fdbafd72acab\"\u003e\u003ccode\u003ef23ed0f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7576\"\u003e#7576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/689c5ab32e9bb18d90a5a94c33237b0e418df3e3\"\u003e\u003ccode\u003e689c5ab\u003c/code\u003e\u003c/a\u003e chore(react-router): silence AbortError in renderRouterToStream (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7627\"\u003e#7627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/a2b9d51b0a21b9427c0c4c4228ee4e2482ab809c\"\u003e\u003ccode\u003ea2b9d51\u003c/code\u003e\u003c/a\u003e docs: fix duplicate \u0026quot;to\u0026quot; typos (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7370\"\u003e#7370\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/56bd271ba0887c008fc2d98f919388cf89cb2aae\"\u003e\u003ccode\u003e56bd271\u003c/code\u003e\u003c/a\u003e perf(react-router): add match selector compares (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7596\"\u003e#7596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/52db7034fd83b17cc45da9ba775ec253f2a9a149\"\u003e\u003ccode\u003e52db703\u003c/code\u003e\u003c/a\u003e fix(react-router): avoid throwing in useMatch selector (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7595\"\u003e#7595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/689d88e04c48ec76a18453ab8b82d8d58f2668b6\"\u003e\u003ccode\u003e689d88e\u003c/code\u003e\u003c/a\u003e refactor(react-router): Reduce bundle size by sharing hook structuralSharing ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/router/commit/4a93cffffca34702e419bc47db827f964fd0cb65\"\u003e\u003ccode\u003e4a93cff\u003c/code\u003e\u003c/a\u003e refactor(react-router): useMatches skips useRef during SSR (\u003ca href=\"https://github.com/TanStack/router/tree/HEAD/packages/react-router/issues/7575\"\u003e#7575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/router/commits/@tanstack/react-router@1.170.16/packages/react-router\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lucide-react` from 1.18.0 to 1.21.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\"\u003elucide-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.21.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci(release.yml): Remove new-version in release flow 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/4478\"\u003elucide-icons/lucide#4478\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(release.yml): Fix workflow and remove \u003ccode\u003eversion\u003c/code\u003e scripts in package scripts 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/4479\"\u003elucide-icons/lucide#4479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(docs): rename navigation category label by \u003ca href=\"https://github.com/Hsiii\"\u003e\u003ccode\u003e@​Hsiii\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4483\"\u003elucide-icons/lucide#4483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ebroken-bone\u003c/code\u003e icon by \u003ca href=\"https://github.com/Patolord\"\u003e\u003ccode\u003e@​Patolord\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4131\"\u003elucide-icons/lucide#4131\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/Hsiii\"\u003e\u003ccode\u003e@​Hsiii\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4483\"\u003elucide-icons/lucide#4483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Patolord\"\u003e\u003ccode\u003e@​Patolord\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4131\"\u003elucide-icons/lucide#4131\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.20.0...1.21.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.20.0...1.21.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.20.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix(icons): decreased size of arrows inside \u003ccode\u003esquare-arrow-*\u003c/code\u003e icons by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3926\"\u003elucide-icons/lucide#3926\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(tags): Add tags to \u003ccode\u003esearch-\u003c/code\u003e icons by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4099\"\u003elucide-icons/lucide#4099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003esave-check\u003c/code\u003e icon by \u003ca href=\"https://github.com/Konixy\"\u003e\u003ccode\u003e@​Konixy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3120\"\u003elucide-icons/lucide#3120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003etag-plus\u003c/code\u003e and \u003ccode\u003etag-x\u003c/code\u003e icons by \u003ca href=\"https://github.com/adam-kov\"\u003e\u003ccode\u003e@​adam-kov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3980\"\u003elucide-icons/lucide#3980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ebanknote-check\u003c/code\u003e icon by \u003ca href=\"https://github.com/mfjramirezf\"\u003e\u003ccode\u003e@​mfjramirezf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3956\"\u003elucide-icons/lucide#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eclock-arrow-in\u003c/code\u003e icon by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/2403\"\u003elucide-icons/lucide#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003esummary\u003c/code\u003e icon by \u003ca href=\"https://github.com/jpjacobpadilla\"\u003e\u003ccode\u003e@​jpjacobpadilla\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3114\"\u003elucide-icons/lucide#3114\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003euser-round-arrow-in\u003c/code\u003e icon by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/2283\"\u003elucide-icons/lucide#2283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eclock-arrow-out\u003c/code\u003e icon by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/2404\"\u003elucide-icons/lucide#2404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs(docs): fix broken Svelte package source link in README by \u003ca href=\"https://github.com/SRKrukowski\"\u003e\u003ccode\u003e@​SRKrukowski\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4468\"\u003elucide-icons/lucide#4468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​angular/compiler\u003c/code\u003e from 21.2.5 to 21.2.17 by \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/4474\"\u003elucide-icons/lucide#4474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​angular/core\u003c/code\u003e from 21.2.5 to 21.2.17 by \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/4470\"\u003elucide-icons/lucide#4470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump vitest from 4.0.12 to 4.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/lucide-icons/lucide/pull/4429\"\u003elucide-icons/lucide#4429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump markdown-it from 14.1.1 to 14.2.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4475\"\u003elucide-icons/lucide#4475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump \u003ccode\u003e@​angular/common\u003c/code\u003e from 21.2.5 to 21.2.17 by \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/4471\"\u003elucide-icons/lucide#4471\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003epencil-sparkles\u003c/code\u003e icon by \u003ca href=\"https://github.com/jennieboops\"\u003e\u003ccode\u003e@​jennieboops\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4445\"\u003elucide-icons/lucide#4445\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/Konixy\"\u003e\u003ccode\u003e@​Konixy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3120\"\u003elucide-icons/lucide#3120\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adam-kov\"\u003e\u003ccode\u003e@​adam-kov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3980\"\u003elucide-icons/lucide#3980\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mfjramirezf\"\u003e\u003ccode\u003e@​mfjramirezf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3956\"\u003elucide-icons/lucide#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SRKrukowski\"\u003e\u003ccode\u003e@​SRKrukowski\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4468\"\u003elucide-icons/lucide#4468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jennieboops\"\u003e\u003ccode\u003e@​jennieboops\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4445\"\u003elucide-icons/lucide#4445\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.19.0...1.20.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.19.0...1.20.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eVersion 1.19.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): upgrade pnpm to version 11.6.0 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/4458\"\u003elucide-icons/lucide#4458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003estar-*\u003c/code\u003e icons by \u003ca href=\"https://github.com/RajnishKMehta\"\u003e\u003ccode\u003e@​RajnishKMehta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3918\"\u003elucide-icons/lucide#3918\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(suggest-tags): Update metadata suggestion script 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/4462\"\u003elucide-icons/lucide#4462\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003esave-pen\u003c/code\u003e icon by \u003ca href=\"https://github.com/vaporvee\"\u003e\u003ccode\u003e@​vaporvee\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4179\"\u003elucide-icons/lucide#4179\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ewrench-off\u003c/code\u003e icon by \u003ca href=\"https://github.com/nilsjonsson\"\u003e\u003ccode\u003e@​nilsjonsson\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4434\"\u003elucide-icons/lucide#4434\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ead\u003c/code\u003e icon by \u003ca href=\"https://github.com/jamiemlaw\"\u003e\u003ccode\u003e@​jamiemlaw\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4323\"\u003elucide-icons/lucide#4323\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003eeye-dashed\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/4415\"\u003elucide-icons/lucide#4415\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lucide-icons/lucide/commit/5ff536e1391335e4f7dc38d244c1bc458b9443e2\"\u003e\u003ccode\u003e5ff536e\u003c/code\u003e\u003c/a\u003e ci(release.yml): Fix workflow and remove \u003ccode\u003eversion\u003c/code\u003e scripts in package scripts...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ai-sdk/react` from 3.0.208 to 3.0.210\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/releases\"\u003e@​ai-sdk/react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​ai-sdk/react\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.210\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [8261640]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [f994df3]\n\u003cul\u003e\n\u003cli\u003eai@6.0.208\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/vercel/ai/blob/@ai-sdk/react@3.0.210/packages/react/CHANGELOG.md\"\u003e@​ai-sdk/react's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.0.210\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [8261640]\u003c/li\u003e\n\u003cli\u003eUpdated dependencies [f994df3]\n\u003cul\u003e\n\u003cli\u003eai@6.0.208\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.0.209\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [779f5cd]\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.30\u003c/li\u003e\n\u003cli\u003eai@6.0.207\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/vercel/ai/commit/3270146267b1d82f07972bc40f09e9b4ee8bb9d3\"\u003e\u003ccode\u003e3270146\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/react/issues/16243\"\u003e#16243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/caebb44016dbd084e5bf7b7f4ab5194fd2c7c045\"\u003e\u003ccode\u003ecaebb44\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/react/issues/16157\"\u003e#16157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/ai/commits/@ai-sdk/react@3.0.210/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ai` from 6.0.206 to 6.0.208\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/ai/releases\"\u003eai's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eai@6.0.208\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8261640: fix(ai): handle partial unicode escapes in fixJson\u003c/li\u003e\n\u003cli\u003ef994df3: Serialize \u003ccode\u003eundefined\u003c/code\u003e tool output to \u003ccode\u003enull\u003c/code\u003e in UI message chunks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eai@6.0.207\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e779f5cd: fix(provider-utils): cancel response body on download rejection to prevent socket leak\u003c/p\u003e\n\u003cp\u003eWhen a download was rejected early — because the \u003ccode\u003eContent-Length\u003c/code\u003e header exceeded the size limit, the response status was not ok, or a redirect resolved to a blocked URL — the fetch response body was left unconsumed and uncancelled. With WHATWG Fetch/undici this leaves the underlying TCP socket open instead of returning it to the connection pool, allowing an attacker-controlled origin to exhaust file descriptors and cause a denial of service. The body is now cancelled on all early-rejection paths in \u003ccode\u003ereadResponseWithSizeLimit\u003c/code\u003e, \u003ccode\u003edownload\u003c/code\u003e, and \u003ccode\u003edownloadBlob\u003c/code\u003e, and \u003ccode\u003efetchWithValidatedRedirects\u003c/code\u003e cancels each redirect hop's body before following or rejecting the next hop.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [5bfde36]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [779f5cd]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.133\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.30\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/vercel/ai/blob/ai@6.0.208/packages/ai/CHANGELOG.md\"\u003eai's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.0.208\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e8261640: fix(ai): handle partial unicode escapes in fixJson\u003c/li\u003e\n\u003cli\u003ef994df3: Serialize \u003ccode\u003eundefined\u003c/code\u003e tool output to \u003ccode\u003enull\u003c/code\u003e in UI message chunks\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.0.207\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e779f5cd: fix(provider-utils): cancel response body on download rejection to prevent socket leak\u003c/p\u003e\n\u003cp\u003eWhen a download was rejected early — because the \u003ccode\u003eContent-Length\u003c/code\u003e header exceeded the size limit, the response status was not ok, or a redirect resolved to a blocked URL — the fetch response body was left unconsumed and uncancelled. With WHATWG Fetch/undici this leaves the underlying TCP socket open instead of returning it to the connection pool, allowing an attacker-controlled origin to exhaust file descriptors and cause a denial of service. The body is now cancelled on all early-rejection paths in \u003ccode\u003ereadResponseWithSizeLimit\u003c/code\u003e, \u003ccode\u003edownload\u003c/code\u003e, and \u003ccode\u003edownloadBlob\u003c/code\u003e, and \u003ccode\u003efetchWithValidatedRedirects\u003c/code\u003e cancels each redirect hop's body before following or rejecting the next hop.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [5bfde36]\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [779f5cd]\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/gateway\u003c/code\u003e\u003ca href=\"https://github.com/3\"\u003e\u003ccode\u003e@​3\u003c/code\u003e\u003c/a\u003e.0.133\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​ai-sdk/provider-utils\u003c/code\u003e\u003ca href=\"https://github.com/4\"\u003e\u003ccode\u003e@​4\u003c/code\u003e\u003c/a\u003e.0.30\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/vercel/ai/commit/3270146267b1d82f07972bc40f09e9b4ee8bb9d3\"\u003e\u003ccode\u003e3270146\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16243\"\u003e#16243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/f994df3f1ead3fdbb290268e551ed94e8f6c9d3d\"\u003e\u003ccode\u003ef994df3\u003c/code\u003e\u003c/a\u003e Backport: Serialize undefined tool output to null in UI message chunks (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16240\"\u003e#16240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/8261640ad7e4d701523050357648b3c301cddd9d\"\u003e\u003ccode\u003e8261640\u003c/code\u003e\u003c/a\u003e Backport: fix(ai): handle partial unicode escapes in fixJson (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16233\"\u003e#16233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/caebb44016dbd084e5bf7b7f4ab5194fd2c7c045\"\u003e\u003ccode\u003ecaebb44\u003c/code\u003e\u003c/a\u003e Version Packages (\u003ca href=\"https://github.com/vercel/ai/tree/HEAD/packages/ai/issues/16157\"\u003e#16157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/ai/commit/779f5cda10001add11430eac8ecaa8e1ea88cf35\"\u003e\u003ccode\u003e779f5cd\u003c/code\u003e\u003c/a\u003e Backport: fix(provider-utils): cancel response body on download rejection to ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vercel/ai/commits/ai@6.0.208/packages/ai\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `nanoid` from 5.1.11 to 5.1.14\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ai/nanoid/releases\"\u003enanoid's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved to npm Provenance and Staged Publishing.\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/ai/nanoid/blob/main/CHANGELOG.md\"\u003enanoid's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.14\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed npm package size regression.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.1.12\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMoved to npm Provenance and Staged Publishing.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/e4b7a9a7323006474ec939112aec68944b0da097\"\u003e\u003ccode\u003ee4b7a9a\u003c/code\u003e\u003c/a\u003e Release 5.1.14 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/6bf3469b5b33137e385e07dc1c84779cf3e38956\"\u003e\u003ccode\u003e6bf3469\u003c/code\u003e\u003c/a\u003e Update release action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/b2f1cb65d6031b2a7014c680a8a94729b69a5802\"\u003e\u003ccode\u003eb2f1cb6\u003c/code\u003e\u003c/a\u003e Release 5.1.13 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/c04e2544309e730a3b37e12cdd3b4cb8c5005b1f\"\u003e\u003ccode\u003ec04e254\u003c/code\u003e\u003c/a\u003e Update release action\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/625a539cae07a708b269011399d7063d2f70c1fb\"\u003e\u003ccode\u003e625a539\u003c/code\u003e\u003c/a\u003e Typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/e5583b7f6158c3bef162e12e2a16ca46d3b5a6e7\"\u003e\u003ccode\u003ee5583b7\u003c/code\u003e\u003c/a\u003e Release 5.1.12 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/77f133b8b8aaa14ee2555ef3385af3e5314b3e33\"\u003e\u003ccode\u003e77f133b\u003c/code\u003e\u003c/a\u003e Fix release workflows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/a55f2d089f8bfd3f55c969087e1211311407cb60\"\u003e\u003ccode\u003ea55f2d0\u003c/code\u003e\u003c/a\u003e Copy changes from v3 branch\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/4eab4631f5ac97e4b789197f6e9749f04f271c8e\"\u003e\u003ccode\u003e4eab463\u003c/code\u003e\u003c/a\u003e Typo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ai/nanoid/commit/261ac052ee893d1d5b0b66cacb08fe1cc64b2d5d\"\u003e\u003ccode\u003e261ac05\u003c/code\u003e\u003c/a\u003e Clean up dev dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ai/nanoid/compare/5.1.11...5.1.14\"\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 nanoid since your current version.\u003c/p\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/kl3inIT/zero-mail/pull/133","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/kl3inIT%2Fzero-mail/issues/133","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/133/packages"}},{"old_version":"0.5.1","new_version":"0.5.6","update_type":"patch","path":null,"pr_created_at":"2026-06-16T02:04:48.000Z","version_change":"0.5.1 → 0.5.6","issue":{"uuid":"4670381989","node_id":"PR_kwDORU2tDs7mzx-W","number":82,"state":"closed","title":"chore(deps-dev): bump the development-minor-patch group across 1 directory with 3 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-16T02:07:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T02:04:48.000Z","updated_at":"2026-06-16T02:07:35.000Z","time_to_close":166,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-minor-patch","update_count":3,"packages":[{"name":"@vitest/coverage-v8","old_version":"4.1.8","new_version":"4.1.9","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"react-doctor","old_version":"0.5.1","new_version":"0.5.6","repository_url":"https://github.com/millionco/react-doctor"},{"name":"vitest","old_version":"4.1.8","new_version":"4.1.9"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 2 updates in the / directory: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor).\n\nUpdates `@vitest/coverage-v8` from 4.1.8 to 4.1.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/HEAD/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.5.1 to 0.5.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add five \u003ccode\u003esecurity-scan\u003c/code\u003e rules distilled from security-researcher writeups and the deepsec scanner-matcher catalog, closing CWE shapes the bucket didn't cover:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eunsafe-json-in-html\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eJSON.stringify(...)\u003c/code\u003e embedded in \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e or inline \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e markup. \u003ccode\u003eJSON.stringify\u003c/code\u003e does not HTML-escape, so data containing \u003ccode\u003e\u0026lt;/script\u0026gt;\u003c/code\u003e or \u003ccode\u003e\u0026lt;\u003c/code\u003e breaks out — the classic SSR data-hydration XSS. Suppressed when an HTML-safe serializer (serialize-javascript, devalue, superjson) or \u003ccode\u003e\\u003c\u003c/code\u003e escaping is used.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejwt-insecure-verification\u003c/code\u003e\u003c/strong\u003e — the JWT \u003ccode\u003enone\u003c/code\u003e algorithm (\u003ccode\u003ealg: none\u003c/code\u003e / \u003ccode\u003ealgorithms: [\u0026quot;none\u0026quot;]\u003c/code\u003e), which disables signature verification and lets any forged token through. (Detecting an unpinned \u003ccode\u003ejwt.verify\u003c/code\u003e precisely needs scope-aware analysis, so that is left to a future AST rule.)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esecret-in-fallback\u003c/code\u003e\u003c/strong\u003e — a secret-shaped env var with a hardcoded string fallback (\u003ccode\u003eprocess.env.STRIPE_SECRET_KEY ?? \u0026quot;\u0026lt;hardcoded\u0026gt;\u0026quot;\u003c/code\u003e): a committed secret that also makes the app fail open when the var is unset. Skips public vars (PUBLIC/PUBLISHABLE/ANON) and placeholder defaults.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erequest-body-mass-assignment\u003c/code\u003e\u003c/strong\u003e — spreading or merging request input (\u003ccode\u003e{ ...req.body }\u003c/code\u003e, \u003ccode\u003eObject.assign(target, req.body)\u003c/code\u003e, lodash \u003ccode\u003emerge\u003c/code\u003e/\u003ccode\u003edefaultsDeep\u003c/code\u003e) without a field allowlist: mass assignment (client-set owner/role/price columns) or prototype pollution.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003einsecure-session-cookie\u003c/code\u003e\u003c/strong\u003e — auth/session cookies exposed to JavaScript: \u003ccode\u003ehttpOnly: false\u003c/code\u003e, set via \u003ccode\u003edocument.cookie\u003c/code\u003e, or a bare \u003ccode\u003eres.cookie(\u0026quot;session\u0026quot;, value)\u003c/code\u003e / \u003ccode\u003ecookies().set(...)\u003c/code\u003e with no options.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll five register through \u003ccode\u003edefineRule\u003c/code\u003e with a project-level \u003ccode\u003escan\u003c/code\u003e, carry the \u003ccode\u003eSecurity\u003c/code\u003e category and \u003ccode\u003esecurity-scan\u003c/code\u003e tag, and are silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e like the rest of the family.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/cf9e05be8ee1f1781878c28b8342490ec11c176f\"\u003e\u003ccode\u003ecf9e05b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Show the full file total when the scan hands off to dead-code analysis, so the live counter no longer looks stuck below \u003ccode\u003eN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/815\"\u003e#815\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe linter already emits a final \u003ccode\u003e(N, N)\u003c/code\u003e progress tick when its last batch finishes, but ora throttles renders to its frame interval — that last frame was overwritten by the \u003ccode\u003e\u0026quot;Analyzing dead code…\u0026quot;\u003c/code\u003e text before it ever painted, so the spinner appeared to freeze at whatever value the smooth-creep timer last drew (e.g. \u003ccode\u003e80/165\u003c/code\u003e). Every file was always scanned; only the counter looked short. The dead-code phase now reads \u003ccode\u003eScanned N files, analyzing dead code…\u003c/code\u003e, keeping the complete count visible for the whole (longer) dead-code pass.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/819\"\u003e#819\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Fix false positives reported in the security and TanStack rules:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003equery-destructure-result\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/818\"\u003e#818\u003c/a\u003e): only flags \u003ccode\u003euseQuery\u003c/code\u003e/\u003ccode\u003euseSuspenseQuery\u003c/code\u003e/… when they actually come from a TanStack Query package (\u003ccode\u003e@tanstack/*-query\u003c/code\u003e, legacy \u003ccode\u003ereact-query\u003c/code\u003e). A same-named hook imported from elsewhere — notably Convex's \u003ccode\u003euseQuery\u003c/code\u003e from \u003ccode\u003econvex/react\u003c/code\u003e, which returns the data directly — is no longer flagged.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eartifact-env-leak\u003c/code\u003e / \u003ccode\u003eartifact-secret-leak\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/817\"\u003e#817\u003c/a\u003e): no longer treat server-side or dev-mode Next.js output as browser artifacts. \u003ccode\u003e.next/dev/server/**\u003c/code\u003e (dev source maps), any \u003ccode\u003e.next/**/server/**\u003c/code\u003e, \u003ccode\u003e.output/server/**\u003c/code\u003e, and the dev server's \u003ccode\u003e.next/dev/**\u003c/code\u003e output are excluded; production browser bundles (\u003ccode\u003e.next/static\u003c/code\u003e, \u003ccode\u003edist/assets\u003c/code\u003e, \u003ccode\u003epublic/\u003c/code\u003e, …) are still scanned.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erepository-secret-file\u003c/code\u003e\u003c/strong\u003e / \u003cstrong\u003e\u003ccode\u003ekey-lifecycle-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/813\"\u003e#813\u003c/a\u003e): no longer flag a credential/key file that git ignores — a local-only, gitignored \u003ccode\u003e.env\u003c/code\u003e is not \u0026quot;checked into the repository\u0026quot;. Findings are dropped only when git definitively reports the path as ignored (the finding stands when there is no repo or git is unavailable).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewebhook-signature-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/814\"\u003e#814\u003c/a\u003e): recognizes a delegated verification helper (a call pairing a verify-ish verb with a security noun, e.g. \u003ccode\u003eisValidSecret(...)\u003c/code\u003e, \u003ccode\u003everifySignature(...)\u003c/code\u003e, \u003ccode\u003echeckWebhookHmac(...)\u003c/code\u003e) as verification evidence, so an extracted \u003ccode\u003etimingSafeEqual\u003c/code\u003e comparison in another module no longer trips the rule.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003esupabase-table-missing-rls\u003c/code\u003e security-scan rule. It flags a Supabase migration (\u003ccode\u003esupabase/migrations/**\u003c/code\u003e, \u003ccode\u003esupabase/schemas/**\u003c/code\u003e) that runs \u003ccode\u003ecreate table\u003c/code\u003e for a public-schema table but never enables Row Level Security — the highest-impact and most common Supabase misconfiguration, because RLS is OFF by default for SQL-created tables, so every row is readable and writable with the public anon key. It targets the same misconfiguration Supabase's own \u003ccode\u003erls_disabled_in_public\u003c/code\u003e database linter flags, and the gap that turns the public anon key into the service key.\u003c/p\u003e\n\u003cp\u003eThe existing \u003ccode\u003esupabase-rls-policy-risk\u003c/code\u003e only caught an explicit \u003ccode\u003edisable row level security\u003c/code\u003e; this complements it by catching the far more common \u0026quot;never enabled it\u0026quot; case. RLS is checked per table — each \u003ccode\u003ecreate table\u003c/code\u003e must have an \u003ccode\u003ealter table \u0026lt;name\u0026gt; enable row level security\u003c/code\u003e for that same table, after the create (a sibling table enabling RLS, or a policy without enabling it, does not vouch). SQL comments and string literals are ignored, non-public/Supabase-managed schemas (\u003ccode\u003eauth.\u003c/code\u003e, \u003ccode\u003estorage.\u003c/code\u003e, a \u003ccode\u003eprivate.\u003c/code\u003e schema, …) are skipped, and the rule is scoped to the \u003ccode\u003esupabase/\u003c/code\u003e directory so plain Drizzle/Prisma \u003ccode\u003e.sql\u003c/code\u003e migrations are not flagged. The scan runs per migration file, so enabling RLS in a \u003cem\u003edifferent\u003c/em\u003e migration than the \u003ccode\u003ecreate table\u003c/code\u003e is not detected — the same-file pattern (what Supabase tooling emits) is the supported case. Like the rest of the family it carries the \u003ccode\u003esecurity-scan\u003c/code\u003e tag and is silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/823\"\u003e#823\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bac7c82950e2392ac4b21448f3e9cf86b605567f\"\u003e\u003ccode\u003ebac7c82\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix a supply-chain scan crash on npm dist-tags and wildcards (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/807\"\u003e#807\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eresolveConcreteVersion\u003c/code\u003e called \u003ccode\u003esemver.minVersion(spec)\u003c/code\u003e directly, but \u003ccode\u003esemver\u003c/code\u003e \u003cstrong\u003ethrows\u003c/strong\u003e (\u003ccode\u003eTypeError: Invalid comparator: latest\u003c/code\u003e) on a non-range spec instead of returning \u003ccode\u003enull\u003c/code\u003e. Any full scan — or PR scan touching \u003ccode\u003epackage.json\u003c/code\u003e — containing a dist-tag like \u003ccode\u003e\u0026quot;trigger.dev\u0026quot;: \u0026quot;latest\u0026quot;\u003c/code\u003e (or \u003ccode\u003e\u0026quot;next\u0026quot;\u003c/code\u003e) crashed before the Socket fail-open path could run (regression from \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/804\"\u003e#804\u003c/a\u003e, affecting 0.5.3–0.5.5).\u003c/p\u003e\n\u003cp\u003eThe spec is now validated with \u003ccode\u003esemver.validRange\u003c/code\u003e before resolving its floor: dist-tags and other non-ranges are skipped (nothing to score), as is a wildcard-only range (\u003ccode\u003e*\u003c/code\u003e/\u003ccode\u003ex\u003c/code\u003e/\u003ccode\u003eX\u003c/code\u003e), which previously resolved to a synthetic \u003ccode\u003e0.0.0\u003c/code\u003e and scored a version nobody pinned. Real ranges (\u003ccode\u003e^1.2.3\u003c/code\u003e, \u003ccode\u003e1.x\u003c/code\u003e, \u003ccode\u003e\u0026gt;=2 \u0026lt;3\u003c/code\u003e) and protocol/URL specs (\u003ccode\u003eworkspace:\u003c/code\u003e, \u003ccode\u003efile:\u003c/code\u003e, \u003ccode\u003enpm:\u003c/code\u003e, \u003ccode\u003egit+…\u003c/code\u003e) are unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.5.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/e90eb7acbfc4e06de68de2cb6a96d3242f72963e\"\u003e\u003ccode\u003ee90eb7a\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.5.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/millionco/react-doctor/pull/744\"\u003e#744\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eacdcf2e65d6755fc000c6e05d8b76a49440adfb\"\u003e\u003ccode\u003eeacdcf2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a project-level security file scan: 36 first-class scan rules (leaked artifact secrets and env dumps, permissive Firebase/Supabase rules, raw SQL injection risk, unsafe webhook signature comparisons, committed private key material, public debug artifacts, …) ship in the oxlint plugin as ordinary \u003ccode\u003edefineRule\u003c/code\u003e modules that declare a project-level \u003ccode\u003escan\u003c/code\u003e instead of AST visitors and run in \u003ccode\u003e@react-doctor/core\u003c/code\u003e's environment-check phase over one bounded whole-tree walk — covering shipped bundles, dotenv/config files, SQL, and Firebase rules files that per-file linting never sees.\u003c/p\u003e\n\u003cp\u003eScan rules register metadata (id, title, severity, recommendation, \u003ccode\u003eSecurity\u003c/code\u003e category, \u003ccode\u003esecurity-scan\u003c/code\u003e tag) like any other rule but carry a project-level \u003ccode\u003escan\u003c/code\u003e instead of AST visitors, so their findings flow through the standard diagnostic pipeline: per-rule and per-category severity overrides, inline disables, and output \u003ccode\u003esurfaces\u003c/code\u003e now apply to scan-rule diagnostics, and \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e (config \u003ccode\u003eignore.tags\u003c/code\u003e) silences the whole family. They never appear in generated oxlint configs or the ESLint presets — they only execute through React Doctor's scan. A plain \u003ccode\u003e--diff\u003c/code\u003e / \u003ccode\u003e--staged\u003c/code\u003e scan skips them like the other whole-project checks, and the gate is now diff mode itself rather than the presence of include paths, so projects configuring \u003ccode\u003eignore.files\u003c/code\u003e get the security scan too.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add five \u003ccode\u003esecurity-scan\u003c/code\u003e rules distilled from security-researcher writeups and the deepsec scanner-matcher catalog, closing CWE shapes the bucket didn't cover:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eunsafe-json-in-html\u003c/code\u003e\u003c/strong\u003e — \u003ccode\u003eJSON.stringify(...)\u003c/code\u003e embedded in \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e or inline \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e markup. \u003ccode\u003eJSON.stringify\u003c/code\u003e does not HTML-escape, so data containing \u003ccode\u003e\u0026lt;/script\u0026gt;\u003c/code\u003e or \u003ccode\u003e\u0026lt;\u003c/code\u003e breaks out — the classic SSR data-hydration XSS. Suppressed when an HTML-safe serializer (serialize-javascript, devalue, superjson) or \u003ccode\u003e\\u003c\u003c/code\u003e escaping is used.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ejwt-insecure-verification\u003c/code\u003e\u003c/strong\u003e — the JWT \u003ccode\u003enone\u003c/code\u003e algorithm (\u003ccode\u003ealg: none\u003c/code\u003e / \u003ccode\u003ealgorithms: [\u0026quot;none\u0026quot;]\u003c/code\u003e), which disables signature verification and lets any forged token through. (Detecting an unpinned \u003ccode\u003ejwt.verify\u003c/code\u003e precisely needs scope-aware analysis, so that is left to a future AST rule.)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003esecret-in-fallback\u003c/code\u003e\u003c/strong\u003e — a secret-shaped env var with a hardcoded string fallback (\u003ccode\u003eprocess.env.STRIPE_SECRET_KEY ?? \u0026quot;\u0026lt;hardcoded\u0026gt;\u0026quot;\u003c/code\u003e): a committed secret that also makes the app fail open when the var is unset. Skips public vars (PUBLIC/PUBLISHABLE/ANON) and placeholder defaults.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erequest-body-mass-assignment\u003c/code\u003e\u003c/strong\u003e — spreading or merging request input (\u003ccode\u003e{ ...req.body }\u003c/code\u003e, \u003ccode\u003eObject.assign(target, req.body)\u003c/code\u003e, lodash \u003ccode\u003emerge\u003c/code\u003e/\u003ccode\u003edefaultsDeep\u003c/code\u003e) without a field allowlist: mass assignment (client-set owner/role/price columns) or prototype pollution.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003einsecure-session-cookie\u003c/code\u003e\u003c/strong\u003e — auth/session cookies exposed to JavaScript: \u003ccode\u003ehttpOnly: false\u003c/code\u003e, set via \u003ccode\u003edocument.cookie\u003c/code\u003e, or a bare \u003ccode\u003eres.cookie(\u0026quot;session\u0026quot;, value)\u003c/code\u003e / \u003ccode\u003ecookies().set(...)\u003c/code\u003e with no options.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAll five register through \u003ccode\u003edefineRule\u003c/code\u003e with a project-level \u003ccode\u003escan\u003c/code\u003e, carry the \u003ccode\u003eSecurity\u003c/code\u003e category and \u003ccode\u003esecurity-scan\u003c/code\u003e tag, and are silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e like the rest of the family.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/824\"\u003e#824\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/cf9e05be8ee1f1781878c28b8342490ec11c176f\"\u003e\u003ccode\u003ecf9e05b\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Show the full file total when the scan hands off to dead-code analysis, so the live counter no longer looks stuck below \u003ccode\u003eN\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/815\"\u003e#815\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003eThe linter already emits a final \u003ccode\u003e(N, N)\u003c/code\u003e progress tick when its last batch finishes, but ora throttles renders to its frame interval — that last frame was overwritten by the \u003ccode\u003e\u0026quot;Analyzing dead code…\u0026quot;\u003c/code\u003e text before it ever painted, so the spinner appeared to freeze at whatever value the smooth-creep timer last drew (e.g. \u003ccode\u003e80/165\u003c/code\u003e). Every file was always scanned; only the counter looked short. The dead-code phase now reads \u003ccode\u003eScanned N files, analyzing dead code…\u003c/code\u003e, keeping the complete count visible for the whole (longer) dead-code pass.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/819\"\u003e#819\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Fix false positives reported in the security and TanStack rules:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003equery-destructure-result\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/818\"\u003e#818\u003c/a\u003e): only flags \u003ccode\u003euseQuery\u003c/code\u003e/\u003ccode\u003euseSuspenseQuery\u003c/code\u003e/… when they actually come from a TanStack Query package (\u003ccode\u003e@tanstack/*-query\u003c/code\u003e, legacy \u003ccode\u003ereact-query\u003c/code\u003e). A same-named hook imported from elsewhere — notably Convex's \u003ccode\u003euseQuery\u003c/code\u003e from \u003ccode\u003econvex/react\u003c/code\u003e, which returns the data directly — is no longer flagged.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eartifact-env-leak\u003c/code\u003e / \u003ccode\u003eartifact-secret-leak\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/817\"\u003e#817\u003c/a\u003e): no longer treat server-side or dev-mode Next.js output as browser artifacts. \u003ccode\u003e.next/dev/server/**\u003c/code\u003e (dev source maps), any \u003ccode\u003e.next/**/server/**\u003c/code\u003e, \u003ccode\u003e.output/server/**\u003c/code\u003e, and the dev server's \u003ccode\u003e.next/dev/**\u003c/code\u003e output are excluded; production browser bundles (\u003ccode\u003e.next/static\u003c/code\u003e, \u003ccode\u003edist/assets\u003c/code\u003e, \u003ccode\u003epublic/\u003c/code\u003e, …) are still scanned.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erepository-secret-file\u003c/code\u003e\u003c/strong\u003e / \u003cstrong\u003e\u003ccode\u003ekey-lifecycle-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/813\"\u003e#813\u003c/a\u003e): no longer flag a credential/key file that git ignores — a local-only, gitignored \u003ccode\u003e.env\u003c/code\u003e is not \u0026quot;checked into the repository\u0026quot;. Findings are dropped only when git definitively reports the path as ignored (the finding stands when there is no repo or git is unavailable).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003ewebhook-signature-risk\u003c/code\u003e\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/814\"\u003e#814\u003c/a\u003e): recognizes a delegated verification helper (a call pairing a verify-ish verb with a security noun, e.g. \u003ccode\u003eisValidSecret(...)\u003c/code\u003e, \u003ccode\u003everifySignature(...)\u003c/code\u003e, \u003ccode\u003echeckWebhookHmac(...)\u003c/code\u003e) as verification evidence, so an extracted \u003ccode\u003etimingSafeEqual\u003c/code\u003e comparison in another module no longer trips the rule.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/812\"\u003e#812\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003esupabase-table-missing-rls\u003c/code\u003e security-scan rule. It flags a Supabase migration (\u003ccode\u003esupabase/migrations/**\u003c/code\u003e, \u003ccode\u003esupabase/schemas/**\u003c/code\u003e) that runs \u003ccode\u003ecreate table\u003c/code\u003e for a public-schema table but never enables Row Level Security — the highest-impact and most common Supabase misconfiguration, because RLS is OFF by default for SQL-created tables, so every row is readable and writable with the public anon key. It targets the same misconfiguration Supabase's own \u003ccode\u003erls_disabled_in_public\u003c/code\u003e database linter flags, and the gap that turns the public anon key into the service key.\u003c/p\u003e\n\u003cp\u003eThe existing \u003ccode\u003esupabase-rls-policy-risk\u003c/code\u003e only caught an explicit \u003ccode\u003edisable row level security\u003c/code\u003e; this complements it by catching the far more common \u0026quot;never enabled it\u0026quot; case. RLS is checked per table — each \u003ccode\u003ecreate table\u003c/code\u003e must have an \u003ccode\u003ealter table \u0026lt;name\u0026gt; enable row level security\u003c/code\u003e for that same table, after the create (a sibling table enabling RLS, or a policy without enabling it, does not vouch). SQL comments and string literals are ignored, non-public/Supabase-managed schemas (\u003ccode\u003eauth.\u003c/code\u003e, \u003ccode\u003estorage.\u003c/code\u003e, a \u003ccode\u003eprivate.\u003c/code\u003e schema, …) are skipped, and the rule is scoped to the \u003ccode\u003esupabase/\u003c/code\u003e directory so plain Drizzle/Prisma \u003ccode\u003e.sql\u003c/code\u003e migrations are not flagged. The scan runs per migration file, so enabling RLS in a \u003cem\u003edifferent\u003c/em\u003e migration than the \u003ccode\u003ecreate table\u003c/code\u003e is not detected — the same-file pattern (what Supabase tooling emits) is the supported case. Like the rest of the family it carries the \u003ccode\u003esecurity-scan\u003c/code\u003e tag and is silenced by \u003ccode\u003ereact-doctor rules ignore-tag security-scan\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/823\"\u003e#823\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/bac7c82950e2392ac4b21448f3e9cf86b605567f\"\u003e\u003ccode\u003ebac7c82\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Fix a supply-chain scan crash on npm dist-tags and wildcards (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/807\"\u003e#807\u003c/a\u003e).\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eresolveConcreteVersion\u003c/code\u003e called \u003ccode\u003esemver.minVersion(spec)\u003c/code\u003e directly, but \u003ccode\u003esemver\u003c/code\u003e \u003cstrong\u003ethrows\u003c/strong\u003e (\u003ccode\u003eTypeError: Invalid comparator: latest\u003c/code\u003e) on a non-range spec instead of returning \u003ccode\u003enull\u003c/code\u003e. Any full scan — or PR scan touching \u003ccode\u003epackage.json\u003c/code\u003e — containing a dist-tag like \u003ccode\u003e\u0026quot;trigger.dev\u0026quot;: \u0026quot;latest\u0026quot;\u003c/code\u003e (or \u003ccode\u003e\u0026quot;next\u0026quot;\u003c/code\u003e) crashed before the Socket fail-open path could run (regression from \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/804\"\u003e#804\u003c/a\u003e, affecting 0.5.3–0.5.5).\u003c/p\u003e\n\u003cp\u003eThe spec is now validated with \u003ccode\u003esemver.validRange\u003c/code\u003e before resolving its floor: dist-tags and other non-ranges are skipped (nothing to score), as is a wildcard-only range (\u003ccode\u003e*\u003c/code\u003e/\u003ccode\u003ex\u003c/code\u003e/\u003ccode\u003eX\u003c/code\u003e), which previously resolved to a synthetic \u003ccode\u003e0.0.0\u003c/code\u003e and scored a version nobody pinned. Real ranges (\u003ccode\u003e^1.2.3\u003c/code\u003e, \u003ccode\u003e1.x\u003c/code\u003e, \u003ccode\u003e\u0026gt;=2 \u0026lt;3\u003c/code\u003e) and protocol/URL specs (\u003ccode\u003eworkspace:\u003c/code\u003e, \u003ccode\u003efile:\u003c/code\u003e, \u003ccode\u003enpm:\u003c/code\u003e, \u003ccode\u003egit+…\u003c/code\u003e) are unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/e90eb7acbfc4e06de68de2cb6a96d3242f72963e\"\u003e\u003ccode\u003ee90eb7a\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.5.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/744\"\u003e#744\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/eacdcf2e65d6755fc000c6e05d8b76a49440adfb\"\u003e\u003ccode\u003eeacdcf2\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a project-level security file scan: 36 first-class scan rules (leaked artifact secrets and env dumps, permissive Firebase/Supabase rules, raw SQL injection risk, unsafe webhook signature comparisons, committed private key material, public debug artifacts, …) ship in the oxlint plugin as ordinary \u003ccode\u003edefineRule\u003c/code\u003e modules that declare a project-level \u003ccode\u003escan\u003c/code\u003e instead of AST visitors and run in \u003ccode\u003e@react-doctor/core\u003c/code\u003e's environment-check phase over one bounded whole-tree walk — covering shipped bundles, dotenv/config files, SQL, and Firebase rules files that per-file linting never sees.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/15238de7019167e740c9fc08b800d9732c2ab477\"\u003e\u003ccode\u003e15238de\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/821\"\u003e#821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ea3b8278996613114c9c671afe292193388741c0\"\u003e\u003ccode\u003eea3b827\u003c/code\u003e\u003c/a\u003e feat(security-scan): add 6 BaaS and CWE rules from security research (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/812\"\u003e#812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5fc0e270c9a15d25be96ef982755cea81065d141\"\u003e\u003ccode\u003e5fc0e27\u003c/code\u003e\u003c/a\u003e fix(security-scan): resolve reported false positives (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/813\"\u003e#813\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/814\"\u003e#814\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/816\"\u003e#816\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/817\"\u003e#817\u003c/a\u003e,...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/daf0579d19743b585bd6e8dbdc58dd16cb964eca\"\u003e\u003ccode\u003edaf0579\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/810\"\u003e#810\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/e90eb7acbfc4e06de68de2cb6a96d3242f72963e\"\u003e\u003ccode\u003ee90eb7a\u003c/code\u003e\u003c/a\u003e fix(tanstack-start): recognize current \u003ccode\u003e.validator()\u003c/code\u003e server-fn method (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/808\"\u003e#808\u003c/a\u003e)...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/f229c75d4bec861cb25cf323b9711e2bedf64e0a\"\u003e\u003ccode\u003ef229c75\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/806\"\u003e#806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/eacdcf2e65d6755fc000c6e05d8b76a49440adfb\"\u003e\u003ccode\u003eeacdcf2\u003c/code\u003e\u003c/a\u003e Add project-level security scan rules (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/744\"\u003e#744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/0b30023ac613c53a8e1ed0435cd5c6ad03b56edb\"\u003e\u003ccode\u003e0b30023\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/805\"\u003e#805\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/094d470d13e7c856772767c879d048972afa5677\"\u003e\u003ccode\u003e094d470\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/764\"\u003e#764\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/3de910612de481a063ff19c6c7b2c62f0098411a\"\u003e\u003ccode\u003e3de9106\u003c/code\u003e\u003c/a\u003e fix: resolve \u003ccode\u003ereact-doctor/api\u003c/code\u003e imports in doctor.config.ts without local nod...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.5.6/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.8 to 4.1.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/HEAD/packages/vitest\"\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/AI4STEM-Education-Center/TALENT-MAIN/pull/82","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AI4STEM-Education-Center%2FTALENT-MAIN/issues/82","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/82/packages"}},{"old_version":"0.3.0","new_version":"0.4.2","update_type":"minor","path":null,"pr_created_at":"2026-06-07T21:16:41.000Z","version_change":"0.3.0 → 0.4.2","issue":{"uuid":"4608748886","node_id":"PR_kwDOSyYFoM7jsQTJ","number":4,"state":"closed","title":"Bump react-doctor from 0.3.0 to 0.4.2","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-09T21:22:02.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-07T21:16:41.000Z","updated_at":"2026-06-09T21:22:04.000Z","time_to_close":173121,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"react-doctor","old_version":"0.3.0","new_version":"0.4.2","repository_url":"https://github.com/millionco/react-doctor"}],"path":null,"ecosystem":"npm"},"body":"Bumps [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) from 0.3.0 to 0.4.2.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.4.2\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/millionco/react-doctor/pull/721\"\u003e#721\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/d17dc87865e059f21534990d0925115db439dc3e\"\u003e\u003ccode\u003ed17dc87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003edefineConfig\u003c/code\u003e helper for authoring a typed \u003ccode\u003edoctor.config.{ts,js,mjs,cjs}\u003c/code\u003e and read \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e as a deprecated fallback.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003edefineConfig\u003c/code\u003e is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e (and \u003ccode\u003e@react-doctor/api\u003c/code\u003e / \u003ccode\u003e@react-doctor/core\u003c/code\u003e) as an identity helper that gives editor autocomplete and type-checking without an explicit \u003ccode\u003esatisfies ReactDoctorConfig\u003c/code\u003e annotation:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// doctor.config.ts\nimport { defineConfig } from \u0026quot;react-doctor/api\u0026quot;;\n\u003cp\u003eexport default defineConfig({\nlint: true,\nrules: { \u0026quot;react-doctor/no-array-index-as-key\u0026quot;: \u0026quot;off\u0026quot; },\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe pre-migration \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e filename is now read as the lowest-priority fallback (after \u003ccode\u003edoctor.config.*\u003c/code\u003e and \u003ccode\u003epackage.json#reactDoctor\u003c/code\u003e) instead of being ignored, so an un-migrated config keeps applying. It still emits a deprecation warning nudging a rename, and interactive runs continue to auto-migrate it to \u003ccode\u003edoctor.config.ts\u003c/code\u003e. A present-but-broken legacy file stops config resolution (it won't silently inherit an ancestor repo's config), and \u003ccode\u003ereact-doctor rules \u0026lt;...\u0026gt;\u003c/code\u003e migrates a legacy file to \u003ccode\u003edoctor.config.json\u003c/code\u003e on write rather than editing it in place.\u003c/p\u003e\n\u003cp\u003eNote: a \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e that was previously ignored in non-interactive runs (CI, coding agents, \u003ccode\u003e--json\u003c/code\u003e/\u003ccode\u003e--score\u003c/code\u003e/\u003ccode\u003e--staged\u003c/code\u003e) is now honored again, which can change which rules fire, the score, and PR gating for projects that still have one. Rename it to \u003ccode\u003edoctor.config.json\u003c/code\u003e (or delete it) to avoid surprises.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.4.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/711\"\u003e#711\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/36ecd053cfe22e16678ac2ff307e015b6f9a2859\"\u003e\u003ccode\u003e36ecd05\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix false positive in \u003ccode\u003erequire-reduced-motion\u003c/code\u003e: the check now searches untracked files so newly created source (e.g. a \u003ccode\u003eproviders.tsx\u003c/code\u003e with \u003ccode\u003e\u0026lt;MotionConfig reducedMotion=\u0026quot;user\u0026quot;\u0026gt;\u003c/code\u003e not yet committed) is detected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/706\"\u003e#706\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/15bd9d861703c6d3b0e2fd8ffad82b7b6a922b00\"\u003e\u003ccode\u003e15bd9d8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - CI setup now offers a one-time, per-repo prompt to upgrade an existing React Doctor GitHub Actions workflow from \u003ccode\u003e@v1\u003c/code\u003e to \u003ccode\u003e@v2\u003c/code\u003e — accepting opens a PR with the bump, declining is remembered so it never asks again. The generated / \u0026quot;Add to CI\u0026quot; workflow now pins \u003ccode\u003emillionco/react-doctor@v2\u003c/code\u003e and grants \u003ccode\u003estatuses: write\u003c/code\u003e, so the action can publish the score as a commit status (and surface results on pushes to the default branch).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/dc35070a5066f9864a7565b952dec2f81bff1223\"\u003e\u003ccode\u003edc35070\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1a22efdf7b18f2cc8b7af6c0b12173ed3c76d34\"\u003e\u003ccode\u003eb1a22ef\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/73dcb2040dc6aa207beea074f846fd675c30bd2b\"\u003e\u003ccode\u003e73dcb20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/64667dae16b812ad9b4304bd7906d5ddbb50921a\"\u003e\u003ccode\u003e64667da\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9ab336d3b2918d319bc048b5b164f58611df83\"\u003e\u003ccode\u003eee9ab33\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fe5f3de330c5c55f6bcbed68070296eb67c2ec5b\"\u003e\u003ccode\u003efe5f3de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/831cf3fbfd703f5048de5c2c3258e47988a2cce0\"\u003e\u003ccode\u003e831cf3f\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ereact-doctor@0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew core API:\u003c/strong\u003e \u003ccode\u003ecomputeDiagnosticDelta\u003c/code\u003e, \u003ccode\u003eGit.showRefContent\u003c/code\u003e / \u003ccode\u003eGit.mergeBase\u003c/code\u003e, \u003ccode\u003ematerializeSourceTree\u003c/code\u003e, and \u003ccode\u003eInspectOptions.baseline\u003c/code\u003e / \u003ccode\u003eInspectResult.baselineDelta\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON report v2:\u003c/strong\u003e baseline runs emit \u003ccode\u003eschemaVersion: 2\u003c/code\u003e with a \u003ccode\u003ebaseline\u003c/code\u003e block (\u003ccode\u003enewCount\u003c/code\u003e, \u003ccode\u003efixedCount\u003c/code\u003e, \u003ccode\u003ebaseTotalCount\u003c/code\u003e) and \u003ccode\u003emode: \u0026quot;baseline\u0026quot;\u003c/code\u003e; \u003ccode\u003esummary.score\u003c/code\u003e stays the head score. v1 reports are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.2\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/millionco/react-doctor/pull/721\"\u003e#721\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/d17dc87865e059f21534990d0925115db439dc3e\"\u003e\u003ccode\u003ed17dc87\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add a \u003ccode\u003edefineConfig\u003c/code\u003e helper for authoring a typed \u003ccode\u003edoctor.config.{ts,js,mjs,cjs}\u003c/code\u003e and read \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e as a deprecated fallback.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003edefineConfig\u003c/code\u003e is exported from \u003ccode\u003ereact-doctor/api\u003c/code\u003e (and \u003ccode\u003e@react-doctor/api\u003c/code\u003e / \u003ccode\u003e@react-doctor/core\u003c/code\u003e) as an identity helper that gives editor autocomplete and type-checking without an explicit \u003ccode\u003esatisfies ReactDoctorConfig\u003c/code\u003e annotation:\u003c/p\u003e\n\u003cpre lang=\"ts\"\u003e\u003ccode\u003e// doctor.config.ts\nimport { defineConfig } from \u0026quot;react-doctor/api\u0026quot;;\n\u003cp\u003eexport default defineConfig({\nlint: true,\nrules: { \u0026quot;react-doctor/no-array-index-as-key\u0026quot;: \u0026quot;off\u0026quot; },\n});\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eThe pre-migration \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e filename is now read as the lowest-priority fallback (after \u003ccode\u003edoctor.config.*\u003c/code\u003e and \u003ccode\u003epackage.json#reactDoctor\u003c/code\u003e) instead of being ignored, so an un-migrated config keeps applying. It still emits a deprecation warning nudging a rename, and interactive runs continue to auto-migrate it to \u003ccode\u003edoctor.config.ts\u003c/code\u003e. A present-but-broken legacy file stops config resolution (it won't silently inherit an ancestor repo's config), and \u003ccode\u003ereact-doctor rules \u0026lt;...\u0026gt;\u003c/code\u003e migrates a legacy file to \u003ccode\u003edoctor.config.json\u003c/code\u003e on write rather than editing it in place.\u003c/p\u003e\n\u003cp\u003eNote: a \u003ccode\u003ereact-doctor.config.json\u003c/code\u003e that was previously ignored in non-interactive runs (CI, coding agents, \u003ccode\u003e--json\u003c/code\u003e/\u003ccode\u003e--score\u003c/code\u003e/\u003ccode\u003e--staged\u003c/code\u003e) is now honored again, which can change which rules fire, the score, and PR gating for projects that still have one. Rename it to \u003ccode\u003edoctor.config.json\u003c/code\u003e (or delete it) to avoid surprises.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/711\"\u003e#711\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/36ecd053cfe22e16678ac2ff307e015b6f9a2859\"\u003e\u003ccode\u003e36ecd05\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/apps/devin-ai-integration\"\u003e\u003ccode\u003e@​devin-ai-integration\u003c/code\u003e\u003c/a\u003e! - Fix false positive in \u003ccode\u003erequire-reduced-motion\u003c/code\u003e: the check now searches untracked files so newly created source (e.g. a \u003ccode\u003eproviders.tsx\u003c/code\u003e with \u003ccode\u003e\u0026lt;MotionConfig reducedMotion=\u0026quot;user\u0026quot;\u0026gt;\u003c/code\u003e not yet committed) is detected.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/millionco/react-doctor/pull/706\"\u003e#706\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/15bd9d861703c6d3b0e2fd8ffad82b7b6a922b00\"\u003e\u003ccode\u003e15bd9d8\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - CI setup now offers a one-time, per-repo prompt to upgrade an existing React Doctor GitHub Actions workflow from \u003ccode\u003e@v1\u003c/code\u003e to \u003ccode\u003e@v2\u003c/code\u003e — accepting opens a PR with the bump, declining is remembered so it never asks again. The generated / \u0026quot;Add to CI\u0026quot; workflow now pins \u003ccode\u003emillionco/react-doctor@v2\u003c/code\u003e and grants \u003ccode\u003estatuses: write\u003c/code\u003e, so the action can publish the score as a commit status (and surface results on pushes to the default branch).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/millionco/react-doctor/commit/dc35070a5066f9864a7565b952dec2f81bff1223\"\u003e\u003ccode\u003edc35070\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/b1a22efdf7b18f2cc8b7af6c0b12173ed3c76d34\"\u003e\u003ccode\u003eb1a22ef\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/73dcb2040dc6aa207beea074f846fd675c30bd2b\"\u003e\u003ccode\u003e73dcb20\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/64667dae16b812ad9b4304bd7906d5ddbb50921a\"\u003e\u003ccode\u003e64667da\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9ab336d3b2918d319bc048b5b164f58611df83\"\u003e\u003ccode\u003eee9ab33\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/fe5f3de330c5c55f6bcbed68070296eb67c2ec5b\"\u003e\u003ccode\u003efe5f3de\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/millionco/react-doctor/commit/831cf3fbfd703f5048de5c2c3258e47988a2cce0\"\u003e\u003ccode\u003e831cf3f\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\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/millionco/react-doctor/commit/b461b2d78e4c14cb8315967fc5e523f84bfc8478\"\u003e\u003ccode\u003eb461b2d\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/724\"\u003e#724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/d17dc87865e059f21534990d0925115db439dc3e\"\u003e\u003ccode\u003ed17dc87\u003c/code\u003e\u003c/a\u003e feat(config): add defineConfig helper and read react-doctor.config.json fallb...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/7d4b9960d2fa53719c348ce077f6f81423fecd63\"\u003e\u003ccode\u003e7d4b996\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/703\"\u003e#703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/f61adc4b660d883ef4ee3c0345946706d30d6b02\"\u003e\u003ccode\u003ef61adc4\u003c/code\u003e\u003c/a\u003e chore: bump deslop-js from ^0.0.20 to ^0.0.21 (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/719\"\u003e#719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/fe5f3de330c5c55f6bcbed68070296eb67c2ec5b\"\u003e\u003ccode\u003efe5f3de\u003c/code\u003e\u003c/a\u003e fix: disable server-fetch-without-revalidate for Next.js 15+ (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/715\"\u003e#715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ee9ab336d3b2918d319bc048b5b164f58611df83\"\u003e\u003ccode\u003eee9ab33\u003c/code\u003e\u003c/a\u003e fix(nextjs): scope useSearchParams/Suspense rule to page files only (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/695\"\u003e#695\u003c/a\u003e) (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/ee980d98e0444324ede6a39eac30ff0cc240ad76\"\u003e\u003ccode\u003eee980d9\u003c/code\u003e\u003c/a\u003e chore: bump deslop-js from ^0.0.19 to ^0.0.20 (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/717\"\u003e#717\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/36ecd053cfe22e16678ac2ff307e015b6f9a2859\"\u003e\u003ccode\u003e36ecd05\u003c/code\u003e\u003c/a\u003e fix: search untracked files in require-reduced-motion check (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/696\"\u003e#696\u003c/a\u003e) (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/711\"\u003e#711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/15bd9d861703c6d3b0e2fd8ffad82b7b6a922b00\"\u003e\u003ccode\u003e15bd9d8\u003c/code\u003e\u003c/a\u003e feat(ci): surface React Doctor results on \u003ccode\u003emain\u003c/code\u003e + offer v1→v2 action upgrade...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5448962028d9c616ec126751af0c8c405748f7d4\"\u003e\u003ccode\u003e5448962\u003c/code\u003e\u003c/a\u003e fix: resolve .cmd wrappers on Windows so agent handoff launches correctly (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/686\"\u003e#686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.4.2/packages/react-doctor\"\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=react-doctor\u0026package-manager=npm_and_yarn\u0026previous-version=0.3.0\u0026new-version=0.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/mahmoud-safwat-2006/ant-design-clone/pull/4","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoud-safwat-2006%2Fant-design-clone/issues/4","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4/packages"}},{"old_version":"0.3.0","new_version":"0.4.0","update_type":"minor","path":null,"pr_created_at":"2026-06-04T21:15:58.000Z","version_change":"0.3.0 → 0.4.0","issue":{"uuid":"4592228250","node_id":"PR_kwDOCfPdns7i28fn","number":4536,"state":"closed","title":"chore: bump react-doctor from 0.3.0 to 0.4.0","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-07T06:17:40.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-04T21:15:58.000Z","updated_at":"2026-06-07T06:17:41.000Z","time_to_close":205302,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore","packages":[{"name":"react-doctor","old_version":"0.3.0","new_version":"0.4.0","repository_url":"https://github.com/millionco/react-doctor"}],"path":null,"ecosystem":"npm"},"body":"Bumps [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) from 0.3.0 to 0.4.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor@0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew core API:\u003c/strong\u003e \u003ccode\u003ecomputeDiagnosticDelta\u003c/code\u003e, \u003ccode\u003eGit.showRefContent\u003c/code\u003e / \u003ccode\u003eGit.mergeBase\u003c/code\u003e, \u003ccode\u003ematerializeSourceTree\u003c/code\u003e, and \u003ccode\u003eInspectOptions.baseline\u003c/code\u003e / \u003ccode\u003eInspectResult.baselineDelta\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON report v2:\u003c/strong\u003e baseline runs emit \u003ccode\u003eschemaVersion: 2\u003c/code\u003e with a \u003ccode\u003ebaseline\u003c/code\u003e block (\u003ccode\u003enewCount\u003c/code\u003e, \u003ccode\u003efixedCount\u003c/code\u003e, \u003ccode\u003ebaseTotalCount\u003c/code\u003e) and \u003ccode\u003emode: \u0026quot;baseline\u0026quot;\u003c/code\u003e; \u003ccode\u003esummary.score\u003c/code\u003e stays the head score. v1 reports are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eGitHub Action\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePosts \u003cstrong\u003einline PR review comments\u003c/strong\u003e on the changed lines that triggered each diagnostic (with fix guidance + a docs link), plus a restyled CLI-style sticky summary with linkable findings and the new / fixed delta. The \u003ccode\u003eannotations\u003c/code\u003e input was removed.\u003c/li\u003e\n\u003cli\u003eOn pull requests it fetches the base commit for baselining — use \u003ccode\u003efetch-depth: 0\u003c/code\u003e on \u003ccode\u003eactions/checkout\u003c/code\u003e. New \u003ccode\u003efixed-issues\u003c/code\u003e output. Defaults: \u003ccode\u003eproject: \u0026quot;*\u0026quot;\u003c/code\u003e, \u003ccode\u003enode-version: 24\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCLI flags (fewer flags, fewer footguns)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--explain\u003c/code\u003e / \u003ccode\u003e--why\u003c/code\u003e → the \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e subcommand (\u003ccode\u003erules explain \u0026lt;rule\u0026gt;\u003c/code\u003e still explains what a rule means).\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--full\u003c/code\u003e (use \u003ccode\u003e--diff false\u003c/code\u003e to force a full scan), \u003ccode\u003e--pr-comment\u003c/code\u003e (the Action renders its comment from \u003ccode\u003e--json\u003c/code\u003e), and the positive \u003ccode\u003e--respect-inline-disables\u003c/code\u003e (already the default; use \u003ccode\u003e--no-respect-inline-disables\u003c/code\u003e for audit mode). The internal \u003ccode\u003e--changed-files-from\u003c/code\u003e is hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved flags now fail with a migration error instead of being silently dropped, and an empty \u003ccode\u003e--project\u003c/code\u003e filter (e.g. \u003ccode\u003e--project \u0026quot;,\u0026quot;\u003c/code\u003e) is rejected.\u003c/li\u003e\n\u003c/ul\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/millionco/react-doctor/pull/681\"\u003e#681\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/915745ef7b88730e153d93bf52ce48bce2806495\"\u003e\u003ccode\u003e915745e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003ereact-doctor experimental-lsp\u003c/code\u003e, an experimental language server that surfaces React Doctor diagnostics directly in your editor — VS Code, Cursor, Zed, Neovim, Sublime Text, Emacs, Helix, or any LSP client. It is gated behind the \u003ccode\u003eexperimental-\u003c/code\u003e prefix while its protocol, caching, and diagnostics stabilize. It scans the file you are editing live from the unsaved buffer, underlines the exact offending token via precise ranges, shows rich hovers (rule, category, recommendation, docs link), and offers quick fixes (disable-for-this-line with the correct comment style, suppress-all-in-file, explain, open docs, report false positive). It discovers every React project across workspace folders and monorepo packages, runs offline (no score lookup, no git), prioritizes open-buffer scans, supports push and pull diagnostics, and invalidates caches when config / package.json / lockfiles change. The background workspace scan is chunked so diagnostics stream in progressively (seconds to first results on large repos), parallelizes across all CPU cores, reserves a slot so edits stay responsive while it runs, and cancels in-flight work when config changes. Results are cached per file (by content metadata, invalidated on config change) and persisted to disk, so re-opening the editor or re-scanning surfaces diagnostics almost instantly — on an ~8,800-file repo a cold scan is ~27s and a warm scan ~2s.\u003c/p\u003e\n\u003cp\u003eStart it with \u003ccode\u003ereact-doctor experimental-lsp --stdio\u003c/code\u003e (or \u003ccode\u003enpx react-doctor@latest experimental-lsp --stdio\u003c/code\u003e). A \u003ccode\u003escanOnType\u003c/code\u003e initialization option toggles live-as-you-type scanning, with first-class companion extensions for VS Code/Cursor and Zed.\u003c/p\u003e\n\u003cp\u003eLike the CLI, the language server reports anonymized usage analytics to Sentry — a per-workspace-scan wide event plus session/scan counters — sharing the CLI's IP-stripping and path/secret scrubbing. Opt out with \u003ccode\u003eREACT_DOCTOR_NO_TELEMETRY=1\u003c/code\u003e (or by launching it with \u003ccode\u003e--no-telemetry\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.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/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.4.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/millionco/react-doctor/pull/663\"\u003e#663\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Rework CI reporting: a renamed \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues-only baselines, inline PR review comments, and a simpler CLI flag surface.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eCI gate\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e is renamed to \u003ccode\u003eblocking\u003c/code\u003e\u003c/strong\u003e (CLI \u003ccode\u003e--blocking \u0026lt;level\u0026gt;\u003c/code\u003e, config \u003ccode\u003eblocking\u003c/code\u003e, GitHub Action \u003ccode\u003eblocking\u003c/code\u003e input). Same \u003ccode\u003eerror | warning | none\u003c/code\u003e values, default \u003ccode\u003eerror\u003c/code\u003e: a scan fails CI when an \u003ccode\u003eerror\u003c/code\u003e-severity diagnostic reaches the \u003ccode\u003eciFailure\u003c/code\u003e surface; \u003ccode\u003ewarning\u003c/code\u003e blocks on any diagnostic; \u003ccode\u003enone\u003c/code\u003e stays advisory (always exits 0). \u003ccode\u003e--fail-on\u003c/code\u003e / \u003ccode\u003efailOn\u003c/code\u003e still work as a deprecated, warned alias hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e--blocking warning\u003c/code\u003e now wins over \u003ccode\u003e--no-warnings\u003c/code\u003e (it previously silently no-op'd the gate — you can't block on warnings you've hidden).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBaseline — report only the issues a PR introduces (Codecov-style)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003e--diff \u0026lt;base\u0026gt;\u003c/code\u003e mode, react-doctor runs a second lint pass over the changed files as they existed at the base merge-base and reports only the diagnostics the change introduced; pre-existing findings that merely shifted lines are matched out by a content fingerprint (\u003ccode\u003efile + rule + flagged-line hash\u003c/code\u003e). The head project-health \u003cstrong\u003escore is unchanged\u003c/strong\u003e; the gate fails on newly-introduced errors only. If the baseline can't be computed (base unreachable, or a lint pass failed), the run degrades to a plain diff — all findings stay visible and CI isn't gated on findings whose new-vs-pre-existing attribution is unknown.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew core API:\u003c/strong\u003e \u003ccode\u003ecomputeDiagnosticDelta\u003c/code\u003e, \u003ccode\u003eGit.showRefContent\u003c/code\u003e / \u003ccode\u003eGit.mergeBase\u003c/code\u003e, \u003ccode\u003ematerializeSourceTree\u003c/code\u003e, and \u003ccode\u003eInspectOptions.baseline\u003c/code\u003e / \u003ccode\u003eInspectResult.baselineDelta\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJSON report v2:\u003c/strong\u003e baseline runs emit \u003ccode\u003eschemaVersion: 2\u003c/code\u003e with a \u003ccode\u003ebaseline\u003c/code\u003e block (\u003ccode\u003enewCount\u003c/code\u003e, \u003ccode\u003efixedCount\u003c/code\u003e, \u003ccode\u003ebaseTotalCount\u003c/code\u003e) and \u003ccode\u003emode: \u0026quot;baseline\u0026quot;\u003c/code\u003e; \u003ccode\u003esummary.score\u003c/code\u003e stays the head score. v1 reports are unchanged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eGitHub Action\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePosts \u003cstrong\u003einline PR review comments\u003c/strong\u003e on the changed lines that triggered each diagnostic (with fix guidance + a docs link), plus a restyled CLI-style sticky summary with linkable findings and the new / fixed delta. The \u003ccode\u003eannotations\u003c/code\u003e input was removed.\u003c/li\u003e\n\u003cli\u003eOn pull requests it fetches the base commit for baselining — use \u003ccode\u003efetch-depth: 0\u003c/code\u003e on \u003ccode\u003eactions/checkout\u003c/code\u003e. New \u003ccode\u003efixed-issues\u003c/code\u003e output. Defaults: \u003ccode\u003eproject: \u0026quot;*\u0026quot;\u003c/code\u003e, \u003ccode\u003enode-version: 24\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCLI flags (fewer flags, fewer footguns)\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e--explain\u003c/code\u003e / \u003ccode\u003e--why\u003c/code\u003e → the \u003ccode\u003ereact-doctor why \u0026lt;file\u0026gt;:\u0026lt;line\u0026gt;\u003c/code\u003e subcommand (\u003ccode\u003erules explain \u0026lt;rule\u0026gt;\u003c/code\u003e still explains what a rule means).\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003e--full\u003c/code\u003e (use \u003ccode\u003e--diff false\u003c/code\u003e to force a full scan), \u003ccode\u003e--pr-comment\u003c/code\u003e (the Action renders its comment from \u003ccode\u003e--json\u003c/code\u003e), and the positive \u003ccode\u003e--respect-inline-disables\u003c/code\u003e (already the default; use \u003ccode\u003e--no-respect-inline-disables\u003c/code\u003e for audit mode). The internal \u003ccode\u003e--changed-files-from\u003c/code\u003e is hidden from \u003ccode\u003e--help\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved flags now fail with a migration error instead of being silently dropped, and an empty \u003ccode\u003e--project\u003c/code\u003e filter (e.g. \u003ccode\u003e--project \u0026quot;,\u0026quot;\u003c/code\u003e) is rejected.\u003c/li\u003e\n\u003c/ul\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/millionco/react-doctor/pull/681\"\u003e#681\u003c/a\u003e \u003ca href=\"https://github.com/millionco/react-doctor/commit/915745ef7b88730e153d93bf52ce48bce2806495\"\u003e\u003ccode\u003e915745e\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/rayhanadev\"\u003e\u003ccode\u003e@​rayhanadev\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003ereact-doctor experimental-lsp\u003c/code\u003e, an experimental language server that surfaces React Doctor diagnostics directly in your editor — VS Code, Cursor, Zed, Neovim, Sublime Text, Emacs, Helix, or any LSP client. It is gated behind the \u003ccode\u003eexperimental-\u003c/code\u003e prefix while its protocol, caching, and diagnostics stabilize. It scans the file you are editing live from the unsaved buffer, underlines the exact offending token via precise ranges, shows rich hovers (rule, category, recommendation, docs link), and offers quick fixes (disable-for-this-line with the correct comment style, suppress-all-in-file, explain, open docs, report false positive). It discovers every React project across workspace folders and monorepo packages, runs offline (no score lookup, no git), prioritizes open-buffer scans, supports push and pull diagnostics, and invalidates caches when config / package.json / lockfiles change. The background workspace scan is chunked so diagnostics stream in progressively (seconds to first results on large repos), parallelizes across all CPU cores, reserves a slot so edits stay responsive while it runs, and cancels in-flight work when config changes. Results are cached per file (by content metadata, invalidated on config change) and persisted to disk, so re-opening the editor or re-scanning surfaces diagnostics almost instantly — on an ~8,800-file repo a cold scan is ~27s and a warm scan ~2s.\u003c/p\u003e\n\u003cp\u003eStart it with \u003ccode\u003ereact-doctor experimental-lsp --stdio\u003c/code\u003e (or \u003ccode\u003enpx react-doctor@latest experimental-lsp --stdio\u003c/code\u003e). A \u003ccode\u003escanOnType\u003c/code\u003e initialization option toggles live-as-you-type scanning, with first-class companion extensions for VS Code/Cursor and Zed.\u003c/p\u003e\n\u003cp\u003eLike the CLI, the language server reports anonymized usage analytics to Sentry — a per-workspace-scan wide event plus session/scan counters — sharing the CLI's IP-stripping and path/secret scrubbing. Opt out with \u003ccode\u003eREACT_DOCTOR_NO_TELEMETRY=1\u003c/code\u003e (or by launching it with \u003ccode\u003e--no-telemetry\u003c/code\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.4.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/millionco/react-doctor/commit/f75ec7a1e7f4bf23654e5deb26dbdd9765b09ff5\"\u003e\u003ccode\u003ef75ec7a\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/682\"\u003e#682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/9a8ad6e40d9ed1fbe7ddb1f1c57bfd5c791a4b9e\"\u003e\u003ccode\u003e9a8ad6e\u003c/code\u003e\u003c/a\u003e feat(ci): \u003ccode\u003eblocking\u003c/code\u003e gate, PR-introduced-issues baseline, inline review comme...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/915745ef7b88730e153d93bf52ce48bce2806495\"\u003e\u003ccode\u003e915745e\u003c/code\u003e\u003c/a\u003e feat(language-server): editor language server behind `react-doctor experiment...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/react-doctor@0.4.0/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/zys-contrib/ant-design/pull/4536","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/zys-contrib%2Fant-design/issues/4536","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4536/packages"}},{"old_version":"0.1.6","new_version":"0.2.1","update_type":"minor","path":null,"pr_created_at":"2026-05-18T21:51:30.000Z","version_change":"0.1.6 → 0.2.1","issue":{"uuid":"4472836569","node_id":"PR_kwDORm4UCc7c1qaA","number":368,"state":"closed","title":"chore(deps-dev): bump the development-minor-patch group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","app","packages","infra","local-dev"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-05-18T22:33:21.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T21:51:30.000Z","updated_at":"2026-05-18T22:33:23.000Z","time_to_close":2511,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-minor-patch","update_count":11,"packages":[{"name":"eslint","old_version":"10.3.0","new_version":"10.4.0","repository_url":"https://github.com/eslint/eslint"},{"name":"react-doctor","old_version":"0.1.6","new_version":"0.2.1","repository_url":"https://github.com/millionco/react-doctor"},{"name":"turbo","old_version":"2.9.12","new_version":"2.9.14","repository_url":"https://github.com/vercel/turborepo"},{"name":"typescript-eslint","old_version":"8.59.2","new_version":"8.59.4","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@types/node","old_version":"25.6.2","new_version":"25.9.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"tsx","old_version":"4.21.0","new_version":"4.22.2","repository_url":"https://github.com/privatenumber/tsx"},{"name":"vitest","old_version":"4.1.5","new_version":"4.1.6","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitejs/plugin-react","old_version":"6.0.1","new_version":"6.0.2","repository_url":"https://github.com/vitejs/vite-plugin-react"},{"name":"@types/google.maps","old_version":"3.64.0","new_version":"3.64.1","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@react-email/ui","old_version":"6.1.4","new_version":"6.1.5","repository_url":"https://github.com/resend/react-email"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [eslint](https://github.com/eslint/eslint) | `10.3.0` | `10.4.0` |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.1.6` | `0.2.1` |\n| [turbo](https://github.com/vercel/turborepo) | `2.9.12` | `2.9.14` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.2` | `8.59.4` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.6.2` | `25.9.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.5` | `4.1.6` |\n| [tsx](https://github.com/privatenumber/tsx) | `4.21.0` | `4.22.2` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.5` | `4.1.6` |\n| [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) | `6.0.1` | `6.0.2` |\n| [@types/google.maps](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/google.maps) | `3.64.0` | `3.64.1` |\n| [@react-email/ui](https://github.com/resend/react-email/tree/HEAD/packages/ui) | `6.1.4` | `6.1.5` |\n\n\nUpdates `eslint` from 10.3.0 to 10.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.4.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1a45ec596af1dd5f880e6874cb8f24dafb6a7ecf\"\u003e\u003ccode\u003e1a45ec5\u003c/code\u003e\u003c/a\u003e feat: check sequence expressions in \u003ccode\u003efor-direction\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20701\"\u003e#20701\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/450040bd89b989b3531824c6be45feb5fe3d936b\"\u003e\u003ccode\u003e450040b\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eincludeIgnoreFile()\u003c/code\u003e to \u003ccode\u003eeslint/config\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20735\"\u003e#20735\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6799431203f2579632d0870f98ba132067f4040c\"\u003e\u003ccode\u003e6799431\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-helpers\u003c/code\u003e to ^0.6.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20850\"\u003e#20850\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f078fef5005dceb14fc162aab7c7200e027688dd\"\u003e\u003ccode\u003ef078fef\u003c/code\u003e\u003c/a\u003e fix: handle non-array deprecated rule replacements (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20825\"\u003e#20825\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e) (Pavel)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9cc73875046e3c4b8313644cbb1e99e26b36bd3f\"\u003e\u003ccode\u003e9cc7387\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3d7b5484407403817aa9071a394d336d8ea96eb5\"\u003e\u003ccode\u003e3d7b548\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/191ec3c0a3f94ce0f110df761f0b2b8949011ccb\"\u003e\u003ccode\u003e191ec3c\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e) (lumir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/24db8cb8e6f07fba667121777a15b1785486be94\"\u003e\u003ccode\u003e24db8cb\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.save() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20802\"\u003e#20802\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2ef0549cac4a9537e4c3a26b9f3edd4c99476bf6\"\u003e\u003ccode\u003e2ef0549\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20857\"\u003e#20857\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a4297918d264d229a06cd96051ef9b91c7b86732\"\u003e\u003ccode\u003ea429791\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003eeslint-webpack-plugin\u003c/code\u003e types integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20668\"\u003e#20668\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9e37386aa7f2ce220b2ef74a6afbac5f6b3527c5\"\u003e\u003ccode\u003e9e37386\u003c/code\u003e\u003c/a\u003e chore: replace \u003ccode\u003erecast\u003c/code\u003e with range approach in code-sample-minimizer (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20682\"\u003e#20682\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0dd1f9ffc9a07704d46e2a4c8d4ccc0d0908b0c0\"\u003e\u003ccode\u003e0dd1f9f\u003c/code\u003e\u003c/a\u003e test: disable warning for \u003ccode\u003evm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20845\"\u003e#20845\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9da3c7bc92d9579f8db19ecb56e718538d09db2b\"\u003e\u003ccode\u003e9da3c7b\u003c/code\u003e\u003c/a\u003e refactor: remove deprecated \u003ccode\u003emeta.language\u003c/code\u003e and migrate \u003ccode\u003emeta.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20716\"\u003e#20716\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2099ed12a0a74c3d7f0808514362af2499b4fe2b\"\u003e\u003ccode\u003e2099ed1\u003c/code\u003e\u003c/a\u003e refactor: add \u003ccode\u003emeta.defaultOptions\u003c/code\u003e to more rules, enable linting (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20800\"\u003e#20800\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f1dfbc9ca57196de7092e1888cc99427bd6fe06e\"\u003e\u003ccode\u003ef1dfbc9\u003c/code\u003e\u003c/a\u003e chore: update ecosystem plugins (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20836\"\u003e#20836\u003c/a\u003e) (github-actions[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c75941390c14728806cd4baef4f6072f6de78318\"\u003e\u003ccode\u003ec759413\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.3 to 6.0.5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20843\"\u003e#20843\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b817d6fdc9ae2c35b528dc662b2eca8f40f64aa\"\u003e\u003ccode\u003e5b817d6\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/ast-utils (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20838\"\u003e#20838\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1c13ae3934c198c494e5958fa3a68b33244ff06a\"\u003e\u003ccode\u003e1c13ae3\u003c/code\u003e\u003c/a\u003e test: add unit tests for lib/shared/severity (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20835\"\u003e#20835\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/452c4010c07dc2e36fe6ec6a8c48298878e86887\"\u003e\u003ccode\u003e452c401\u003c/code\u003e\u003c/a\u003e 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6417e8b55c9525070d6e168b485ce6ff21688ed\"\u003e\u003ccode\u003eb6417e8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6616856f28fa514a30f87b5539fc100d739a94bf\"\u003e\u003ccode\u003e6616856\u003c/code\u003e\u003c/a\u003e chore: upgrade knip to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20875\"\u003e#20875\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d13b084a3ad02f926e9addaa35fc383759ea5554\"\u003e\u003ccode\u003ed13b084\u003c/code\u003e\u003c/a\u003e ci: ensure auto-created PRs run CI (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20860\"\u003e#20860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7e52a7151fb92eec0e0f67fe4e5ddbd1ccce796f\"\u003e\u003ccode\u003e7e52a71\u003c/code\u003e\u003c/a\u003e docs: add mention of \u003ccode\u003e@eslint-react/eslint-plugin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20869\"\u003e#20869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e71c7af86dce9acc1d18cb12d2184309f6841594\"\u003e\u003ccode\u003ee71c7af\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.5 to 6.0.7 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20862\"\u003e#20862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/544c0c3da589166ad8e5d634f35d3d06701c57be\"\u003e\u003ccode\u003e544c0c3\u003c/code\u003e\u003c/a\u003e fix: escape code path DOT labels in debug output (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20866\"\u003e#20866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/db3468ba746407d7f286f18f7ea9db6df0e3bc08\"\u003e\u003ccode\u003edb3468b\u003c/code\u003e\u003c/a\u003e docs: tweak wording around ambiguous CJS-vs-ESM config (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20865\"\u003e#20865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84393dea170f54191fd20c8268b52c81c0ccd99\"\u003e\u003ccode\u003ed84393d\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.applySuppressions() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20863\"\u003e#20863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/90846643ec6e97d447ae0d831fabe6d17b0a998a\"\u003e\u003ccode\u003e9084664\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.1.6 to 0.2.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.2.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eMake filesystem walks tolerate EPERM/EACCES (macOS Library)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eoxlint-plugin-react-doctor@0.2.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.2.0\u003c/h2\u003e\n\u003ch3\u003eMinor Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/5be2eadd90b2248b28b228fad306808cec1bf758\"\u003e\u003ccode\u003e5be2ead\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add configuration-level controls for React Doctor's rule output. Users can now set top-level \u003ccode\u003erules\u003c/code\u003e and \u003ccode\u003ecategories\u003c/code\u003e severity overrides, tune individual output surfaces (\u003ccode\u003ecli\u003c/code\u003e, \u003ccode\u003eprComment\u003c/code\u003e, \u003ccode\u003escore\u003c/code\u003e, and \u003ccode\u003eciFailure\u003c/code\u003e) by tag/category/rule id, and rely on registered rule-family tags such as \u003ccode\u003edesign\u003c/code\u003e, \u003ccode\u003ereact-native\u003c/code\u003e, \u003ccode\u003eserver-action\u003c/code\u003e, \u003ccode\u003etest-noise\u003c/code\u003e, and \u003ccode\u003emigration-hint\u003c/code\u003e for broad filtering.\u003c/p\u003e\n\u003cp\u003eThe scan pipeline now applies those controls both when generating the oxlint config and when post-processing diagnostics, so \u003ccode\u003e\u0026quot;off\u0026quot;\u003c/code\u003e can skip rules before they run while \u003ccode\u003e\u0026quot;warn\u0026quot;\u003c/code\u003e / \u003ccode\u003e\u0026quot;error\u0026quot;\u003c/code\u003e restamp emitted diagnostics consistently across the CLI, score, PR comments, and CI failure gate. The oxlint plugin also exposes shared rule-set maps that the ESLint plugin reuses for its flat configs.\u003c/p\u003e\n\u003cp\u003eExpose the GitHub Action's \u003ccode\u003eannotations\u003c/code\u003e input so workflow users can opt into inline PR annotations without dropping down to the raw CLI.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/809e38cebabc15c42b3c40ee8c7a753c3d7549d0\"\u003e\u003ccode\u003e809e38c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Extract project / dependency / framework detection, the oxlint runner +\nscoring engine, and the shared TypeScript type layer out of the\n\u003ccode\u003ereact-doctor\u003c/code\u003e monolith into three new public workspace packages:\n\u003ccode\u003e@react-doctor/types\u003c/code\u003e, \u003ccode\u003e@react-doctor/project-info\u003c/code\u003e, and\n\u003ccode\u003e@react-doctor/core\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/249\"\u003e#249\u003c/a\u003e). The oxlint plugin is restructured into\nper-rule modules under \u003ccode\u003esrc/plugin/rules/\u0026lt;category\u0026gt;/\u0026lt;rule\u0026gt;.ts\u003c/code\u003e with a\ncodegen'd \u003ccode\u003erule-registry.ts\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/218\"\u003e#218\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/228\"\u003e#228\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/230\"\u003e#230\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/231\"\u003e#231\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/234\"\u003e#234\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/235\"\u003e#235\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/236\"\u003e#236\u003c/a\u003e,\n\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/242\"\u003e#242\u003c/a\u003e). Land the user-feedback sweep (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/208\"\u003e#208\u003c/a\u003e): scoring transparency hooks,\nper-rule severity + rule-set selection config options, and reduced\nfalse positives across the design / Tailwind / state-and-effects rule\nfamilies. Reorganise the CLI into \u003ccode\u003ecli/commands/\u003c/code\u003e + \u003ccode\u003ecli/utils/\u003c/code\u003e\n(\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/250\"\u003e#250\u003c/a\u003e), and forward \u003ccode\u003ereactMajorVersion\u003c/code\u003e through programmatic\n\u003ccode\u003ediagnose()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/174\"\u003e#174\u003c/a\u003e).\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://github.com/millionco/react-doctor/commit/29b7229ea144cfe80c4401391eed3aa035071bcd\"\u003e\u003ccode\u003e29b7229\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Add \u003ccode\u003eoxlint-plugin-react-doctor\u003c/code\u003e to \u003ccode\u003edependencies\u003c/code\u003e so it is installed\nalongside the CLI. The bundler correctly externalises the plugin (oxlint\nloads it by file path at runtime) but it was missing from the published\ndependency list, causing \u003ccode\u003eERR_MODULE_NOT_FOUND\u003c/code\u003e on \u003ccode\u003enpx react-doctor\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/millionco/react-doctor/commit/99f6a6ad1cc41828172b26f17a84bcf2d66ff17c\"\u003e\u003ccode\u003e99f6a6a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/aidenybai\"\u003e\u003ccode\u003e@​aidenybai\u003c/code\u003e\u003c/a\u003e! - Rule-fix wave for the 0.2.0-beta.5 release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eScope \u003ccode\u003eno-secrets-in-client-code\u003c/code\u003e to client-reachable bindings -\nskips server-only modules, public env-prefixed values, and\nlocally-classified safe files (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/252\"\u003e#252\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enextjs-no-side-effect-in-get-handler\u003c/code\u003e stops flagging\n\u003ccode\u003eresponse.headers.set(...)\u003c/code\u003e and locally-constructed \u003ccode\u003eMap\u003c/code\u003e / \u003ccode\u003eSet\u003c/code\u003e /\n\u003ccode\u003eHeaders\u003c/code\u003e inside GET handlers; the same safe-bindings classifier\nbenefits \u003ccode\u003eserver-auth-actions\u003c/code\u003e and the TanStack Start\n\u003ccode\u003eget-mutation\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/millionco/react-doctor/issues/260\"\u003e#260\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\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.9.12 to 2.9.14\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.9.14\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release contains important security fixes.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eHigh:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/security/advisories/GHSA-5xc8-49mv-x4mm\"\u003eGHSA-5xc8-49mv-x4mm: Turborepo VSCode Extension command injection\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLow:\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/security/advisories/GHSA-hcf7-66rw-9f5r\"\u003eGHSA-hcf7-66rw-9f5r: Login callback CSRF/session fixation\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/security/advisories/GHSA-3qcw-2rhx-2726\"\u003eGHSA-3qcw-2rhx-2726: Unexpected local code execution during Yarn Berry detection\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\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\u003erelease(turborepo): 2.9.12 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/12774\"\u003evercel/turborepo#12774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore docs mobile menu 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/12782\"\u003evercel/turborepo#12782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use \u003ccode\u003epull_request\u003c/code\u003e for PR title linting 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/12787\"\u003evercel/turborepo#12787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Scope GitHub Actions caches by branch 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/12788\"\u003evercel/turborepo#12788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Validate lockfiles without dependency downloads 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/12789\"\u003evercel/turborepo#12789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unneeded import form hash creation script in docs by \u003ca href=\"https://github.com/dancrumb\"\u003e\u003ccode\u003e@​dancrumb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12799\"\u003evercel/turborepo#12799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Validate auth callback state 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/12802\"\u003evercel/turborepo#12802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden VS Code extension command execution 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/12800\"\u003evercel/turborepo#12800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid project-local Yarn during detection 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/12801\"\u003evercel/turborepo#12801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Release 2.9.13 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/12803\"\u003evercel/turborepo#12803\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/dancrumb\"\u003e\u003ccode\u003e@​dancrumb\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12799\"\u003evercel/turborepo#12799\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.9.12...v2.9.14\"\u003ehttps://github.com/vercel/turborepo/compare/v2.9.12...v2.9.14\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.9.13-canary.1\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\u003erelease(turborepo): 2.9.11-canary.7 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/12768\"\u003evercel/turborepo#12768\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Allow \u003ccode\u003e$TURBO_EXTENDS$\u003c/code\u003e in LSP diagnostics 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/12770\"\u003evercel/turborepo#12770\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.11 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/12771\"\u003evercel/turborepo#12771\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Allow transit nodes in LSP diagnostics 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/12773\"\u003evercel/turborepo#12773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erelease(turborepo): 2.9.12 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/12774\"\u003evercel/turborepo#12774\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Restore docs mobile menu 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/12782\"\u003evercel/turborepo#12782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Use \u003ccode\u003epull_request\u003c/code\u003e for PR title linting 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/12787\"\u003evercel/turborepo#12787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: Scope GitHub Actions caches by branch 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/12788\"\u003evercel/turborepo#12788\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Validate lockfiles without dependency downloads 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/12789\"\u003evercel/turborepo#12789\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved unneeded import form hash creation script in docs by \u003ca href=\"https://github.com/dancrumb\"\u003e\u003ccode\u003e@​dancrumb\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12799\"\u003evercel/turborepo#12799\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Validate auth callback state 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/12802\"\u003evercel/turborepo#12802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Harden VS Code extension command execution 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/12800\"\u003evercel/turborepo#12800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: Avoid project-local Yarn during detection 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/12801\"\u003evercel/turborepo#12801\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/fc62fe0d9c347d1d24f0ed8946284856593ddb93\"\u003e\u003ccode\u003efc62fe0\u003c/code\u003e\u003c/a\u003e publish 2.9.14 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/fb8c9aec0f9e83f95783659a5ce9c4478cf62cb9\"\u003e\u003ccode\u003efb8c9ae\u003c/code\u003e\u003c/a\u003e chore: Release 2.9.13 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12803\"\u003e#12803\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/e8e629da4e1fb75231089e91b19be9d327a3e649\"\u003e\u003ccode\u003ee8e629d\u003c/code\u003e\u003c/a\u003e fix: Avoid project-local Yarn during detection (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12801\"\u003e#12801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/91c90cbf12f524c5c29b713d6472dd5fcdecb309\"\u003e\u003ccode\u003e91c90cb\u003c/code\u003e\u003c/a\u003e fix: Harden VS Code extension command execution (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12800\"\u003e#12800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/84f450894e87da1eed864d51f6f637f26980d560\"\u003e\u003ccode\u003e84f4508\u003c/code\u003e\u003c/a\u003e fix: Validate auth callback state (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12802\"\u003e#12802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/1779ad7901384f106236a6e196059e4929745514\"\u003e\u003ccode\u003e1779ad7\u003c/code\u003e\u003c/a\u003e Removed unneeded import form hash creation script in docs (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12799\"\u003e#12799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/71f8c90a807ffb9b9876ea8a04f523f473bf5c8d\"\u003e\u003ccode\u003e71f8c90\u003c/code\u003e\u003c/a\u003e test: Validate lockfiles without dependency downloads (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12789\"\u003e#12789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/5fcb96024d503127bb0ed760ebe159b7716c52b3\"\u003e\u003ccode\u003e5fcb960\u003c/code\u003e\u003c/a\u003e ci: Scope GitHub Actions caches by branch (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12788\"\u003e#12788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/4cf9fabc9a6f6c99fe4e2f2da9f35be631be062a\"\u003e\u003ccode\u003e4cf9fab\u003c/code\u003e\u003c/a\u003e ci: Use \u003ccode\u003epull_request\u003c/code\u003e for PR title linting (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12787\"\u003e#12787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/859c629bc401f239ac7980a132746ca90478e17c\"\u003e\u003ccode\u003e859c629\u003c/code\u003e\u003c/a\u003e fix: Restore docs mobile menu (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12782\"\u003e#12782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.9.12...v2.9.14\"\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.59.2 to 8.59.4\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.59.4\u003c/h2\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-floating-promises] stack overflow when using recursive types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12294\"\u003e#12294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eproject-service:\u003c/strong\u003e throw error cause in \u003ccode\u003egetParsedConfigFileFromTSServer\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12321\"\u003e#12321\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elumir\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.3\u003c/h2\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md\"\u003etypescript-eslint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.59.4 (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-eslint:\u003c/strong\u003e export Compatible* types from typescript-eslint to resolve pnpm TS error (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12340\"\u003e#12340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.4\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.3 (2026-05-11)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for 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.59.3\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ca6ca1431b6d18235297a7e29feb5d98f012dff2\"\u003e\u003ccode\u003eca6ca14\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/4b927c607755b2648d5854b9e928c1dbb2b8e088\"\u003e\u003ccode\u003e4b927c6\u003c/code\u003e\u003c/a\u003e fix(typescript-eslint): export Compatible* types from typescript-eslint to re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/48e13c0261e3cb1bf4f4dfaa462cdb3a56ef7383\"\u003e\u003ccode\u003e48e13c0\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/44f9625336841a8ee3eb01a9e02e49b1d7b12648\"\u003e\u003ccode\u003e44f9625\u003c/code\u003e\u003c/a\u003e chore(deps): update vitest monorepo to v4.1.5 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12307\"\u003e#12307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.4/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.6.2 to 25.9.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/coverage-v8` from 4.1.5 to 4.1.6\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\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\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/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\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/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  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/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\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/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tsx` from 4.21.0 to 4.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/privatenumber/tsx/releases\"\u003etsx's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.22.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.1...v4.22.2\"\u003e4.22.2\u003c/a\u003e (2026-05-18)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003epreserve CJS JSON require in ESM hooks (\u003ca href=\"https://github.com/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e35b700b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003epreserve named exports from CommonJS TypeScript (\u003ca href=\"https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089\"\u003e11de737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport module.exports require(esm) interop (\u003ca href=\"https://github.com/privatenumber/tsx/commit/cf8f19918e4e0a0dc5ee5c52d8cc15e5e22d7c49\"\u003ecf8f199\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.2\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.22.0...v4.22.1\"\u003e4.22.1\u003c/a\u003e (2026-05-17)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eresolve tsconfig path aliases containing a colon (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/780\"\u003e#780\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/6979f28810829dc79ec9baf406e162a18b65ab4b\"\u003e6979f28\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.1\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.22.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.1...v4.22.0\"\u003e4.22.0\u003c/a\u003e (2026-05-14)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupgrade esbuild to 0.28 (\u003ca href=\"https://redirect.github.com/privatenumber/tsx/issues/789\"\u003e#789\u003c/a\u003e) (\u003ca href=\"https://github.com/privatenumber/tsx/commit/b29f6ee4d6872fdef474eb0a89c6d4e982478a77\"\u003eb29f6ee\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.npmjs.com/package/tsx/v/4.22.0\"\u003e\u003ccode\u003enpm package (@​latest dist-tag)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.21.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.0...v4.21.1\"\u003e4.21.1\u003c/a\u003e (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport Node 20.11/21.2 import.meta paths (\u003ca href=\"https://github.com/privatenumber/tsx/commit/acf3d8ffee39fcb4655956fc052b78666aacbc3d\"\u003eacf3d8f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Node.js 24.15.0 (\u003ca href=\"https://github.com/privatenumber/tsx/commit/c1d2d45432eba7c6ff0785a43b0aeae85b5a3391\"\u003ec1d2d45\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esupport Node.js 26.1.0 and 25.9.0 (\u003ca href=\"https://github.com/privatenumber/tsx/commit/1d7e528762a7e4f801175fd7d7d6082b00df3e5c\"\u003e1d7e528\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eThis release is also available on:\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/privatenumber/tsx/commit/35b700bd8620696df03827068af29dcd0d091a60\"\u003e\u003ccode\u003e35b700b\u003c/code\u003e\u003c/a\u003e fix: preserve CJS JSON require in ESM hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/ef807dba6832260fb4cafd78d81f5469a733966b\"\u003e\u003ccode\u003eef807db\u003c/code\u003e\u003c/a\u003e chore: update testing dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/3917090d4f61863ea6ea16e4a9a3722a112cc3f7\"\u003e\u003ccode\u003e3917090\u003c/code\u003e\u003c/a\u003e test: document compatibility test taxonomy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/de8113ffa8edbcd4e05fa218324c3e8c2a4afdbe\"\u003e\u003ccode\u003ede8113f\u003c/code\u003e\u003c/a\u003e refactor: centralize Node capability facts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/c1f62db45ada60b24ceb3dfdf7f64173d9a15396\"\u003e\u003ccode\u003ec1f62db\u003c/code\u003e\u003c/a\u003e test: consolidate tsconfig path edge coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/4e08174ec10276ac71c9a69eb28426ad702d0c76\"\u003e\u003ccode\u003e4e08174\u003c/code\u003e\u003c/a\u003e test: consolidate loader hook coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/674bb30bc87ce00b36e9c820d47394defba9ae36\"\u003e\u003ccode\u003e674bb30\u003c/code\u003e\u003c/a\u003e test: consolidate tsImport commonjs mts coverage\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/e6972ac44931e67125f9c122a0573c1e26eb46ed\"\u003e\u003ccode\u003ee6972ac\u003c/code\u003e\u003c/a\u003e test: stabilize process interaction tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/9736a802ba9af9160965df215049f2492c51709f\"\u003e\u003ccode\u003e9736a80\u003c/code\u003e\u003c/a\u003e test: safely decode stdout stream tex\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/privatenumber/tsx/commit/11de737dae1fb9dae28db3716df5b1a7e1a6a089\"\u003e\u003ccode\u003e11de737\u003c/code\u003e\u003c/a\u003e fix: preserve named exports from CommonJS TypeScript\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for tsx since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.5 to 4.1.6\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\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.6\u003c/h2\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e  -  by \u003ca href=\"https://github.com/macarie\"\u003e\u003ccode\u003e@​macarie\u003c/code\u003e\u003c/a\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/10138\"\u003evitest-dev/vitest#10138\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607c\"\u003e\u003c!-- raw HTML omitted --\u003e(31882)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGlobal \u003ccode\u003esequence.concurrent: true\u003c/code\u003e with top-level \u003ccode\u003etest(..., { concurrent: false })\u003c/code\u003e + depreacte \u003ccode\u003esequential\u003c/code\u003e test API and options  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\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/10196\"\u003evitest-dev/vitest#10196\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2847dfa2a\"\u003e\u003c!-- raw HTML omitted --\u003e(2847d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Simplify orchestrator otel carrier  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10285\"\u003evitest-dev/vitest#10285\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee\"\u003e\u003c!-- raw HTML omitted --\u003e(18af9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🏎 Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eStringify diff objects only once  -  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/10276\"\u003evitest-dev/vitest#10276\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9f7b1528c\"\u003e\u003c!-- raw HTML omitted --\u003e(9f7b1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.5...v4.1.6\"\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/vitest-dev/vitest/commit/a8fd24c1cad2320b19fcc651413c7d928423bdc1\"\u003e\u003ccode\u003ea8fd24c\u003c/code\u003e\u003c/a\u003e chore: release v4.1.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/18af98cee1830604d57f6a02bf28f8067cdffc06\"\u003e\u003ccode\u003e18af98c\u003c/code\u003e\u003c/a\u003e fix(browser): simplify orchestrator otel carrier (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10285\"\u003e#10285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/31882607cc67c7bf52ead13a606321ffdb06a857\"\u003e\u003ccode\u003e3188260\u003c/code\u003e\u003c/a\u003e feat(browser): provide project reference in \u003ccode\u003eToMatchScreenshotResolvePath\u003c/code\u003e (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/vitest\"\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.0.1 to 6.0.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.0.2\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\u003c/code\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/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.0.2 (2026-05-14)\u003c/h2\u003e\n\u003ch3\u003eAllow all options in reactCompilerPreset (\u003ca href=\"https://redirect.github.com/vitejs/vite-plugin-react/pull/1189\"\u003e#1189\u003c/a\u003e)\u003c/h3\u003e\n\u003cp\u003eThis is a type only change. Only \u003ccode\u003ecompilationMode\u003c/code\u003e and \u003ccode\u003etarget\u003c/code\u003e options were available for \u003ccode\u003ereactCompilerPreset\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/vitejs/vite-plugin-react/commit/6535b55e956b425e6650ffc2cc98fd23cca1d231\"\u003e\u003ccode\u003e6535b55\u003c/code\u003e\u003c/a\u003e release: plugin-react@6.0.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/bf0e43b756e3be81f8572d59727c218311f431ef\"\u003e\u003ccode\u003ebf0e43b\u003c/code\u003e\u003c/a\u003e feat(react): whitelist debugging-options (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1189\"\u003e#1189\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/3bd1f08ae0b82ee0e96feb2ff265e61c6fe74b54\"\u003e\u003ccode\u003e3bd1f08\u003c/code\u003e\u003c/a\u003e feat: use carets for rolldown versions (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1216\"\u003e#1216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/2b8df67323265d1ff5ddf47b2db9ab0b9de5c688\"\u003e\u003ccode\u003e2b8df67\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/1218\"\u003e#1218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/8fa9619e1b1f51b079f4c1df6bcf076dcafc5aed\"\u003e\u003ccode\u003e8fa9619\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.6 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1211\"\u003e#1211\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a4296ad2995a8d493528b8d5450a1209de2943cb\"\u003e\u003ccode\u003ea4296ad\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/1209\"\u003e#1209\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/323ccd72576be636b50baa7d9ce816cc94d5991e\"\u003e\u003ccode\u003e323ccd7\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/1196\"\u003e#1196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/a7506e105df00cdadc58c0aecc4512d8cfdd9765\"\u003e\u003ccode\u003ea7506e1\u003c/code\u003e\u003c/a\u003e chore(deps): update vite 8.0.10 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1198\"\u003e#1198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/02cff2a0cf5c7e9792b1612baa380228f5e4d3c1\"\u003e\u003ccode\u003e02cff2a\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/1184\"\u003e#1184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite-plugin-react/commit/4b9c890cdb21078ac45a86873b24f7e8613b8526\"\u003e\u003ccode\u003e4b9c890\u003c/code\u003e\u003c/a\u003e fix(deps): update react 19.2.5 (\u003ca href=\"https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react/issues/1181\"\u003e#1181\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitejs/vite-plugin-react/commits/plugin-react@6.0.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 `@types/google.maps` from 3.64.0 to 3.64.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/google.maps\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@react-email/ui` from 6.1.4 to 6.1.5\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/resend/react-email/blob/canary/packages/ui/CHANGELOG.md\"\u003e@​react-email/ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.5\u003c/h2\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/resend/react-email/commit/549d95cda58f530df826c2cba033efdaea2e3b61\"\u003e\u003ccode\u003e549d95c\u003c/code\u003e\u003c/a\u003e chore(root): version packages (\u003ca href=\"https://github.com/resend/react-email/tree/HEAD/packages/ui/issues/3519\"\u003e#3519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/resend/react-email/commits/@react-email/ui@6.1.5/packages/ui\"\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/percy-main/website-v2/pull/368","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/percy-main%2Fwebsite-v2/issues/368","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/368/packages"}},{"old_version":"0.1.4","new_version":"0.1.6","update_type":"patch","path":null,"pr_created_at":"2026-05-10T21:12:47.000Z","version_change":"0.1.4 → 0.1.6","issue":{"uuid":"4416855641","node_id":"PR_kwDORm4UCc7aDKUI","number":268,"state":"open","title":"Bump the development-minor-patch group with 15 updates","user":"dependabot[bot]","labels":["dependencies","dev:merge"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-10T21:12:47.000Z","updated_at":"2026-05-11T00:02:50.939Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"development-minor-patch","update_count":15,"packages":[{"name":"eslint","old_version":"10.0.3","new_version":"10.3.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-hooks","old_version":"7.0.1","new_version":"7.1.1","repository_url":"https://github.com/facebook/react"},{"name":"prettier","old_version":"3.8.1","new_version":"3.8.3","repository_url":"https://github.com/prettier/prettier"},{"name":"prettier-plugin-tailwindcss","old_version":"0.7.2","new_version":"0.8.0","repository_url":"https://github.com/tailwindlabs/prettier-plugin-tailwindcss"},{"name":"react-doctor","old_version":"0.1.4","new_version":"0.1.6","repository_url":"https://github.com/millionco/react-doctor"},{"name":"typescript-eslint","old_version":"8.57.0","new_version":"8.59.2","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@testcontainers/postgresql","old_version":"11.12.0","new_version":"11.14.0","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"@types/node","old_version":"25.5.0","new_version":"25.6.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/pg","old_version":"8.18.0","new_version":"8.20.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@vitest/coverage-v8","old_version":"4.1.0","new_version":"4.1.5","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"dotenv","old_version":"17.3.1","new_version":"17.4.2","repository_url":"https://github.com/motdotla/dotenv"},{"name":"testcontainers","old_version":"11.12.0","new_version":"11.14.0","repository_url":"https://github.com/testcontainers/testcontainers-node"},{"name":"vitest","old_version":"4.1.0","new_version":"4.1.5","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@types/google.maps","old_version":"3.58.1","new_version":"3.64.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@libsql/client","old_version":"0.17.0","new_version":"0.17.3","repository_url":"https://github.com/tursodatabase/libsql-client-ts"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-minor-patch group with 15 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [eslint](https://github.com/eslint/eslint) | `10.0.3` | `10.3.0` |\n| [eslint-plugin-react-hooks](https://github.com/facebook/react/tree/HEAD/packages/eslint-plugin-react-hooks) | `7.0.1` | `7.1.1` |\n| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.3` |\n| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) | `0.7.2` | `0.8.0` |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.1.4` | `0.1.6` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.57.0` | `8.59.2` |\n| [@testcontainers/postgresql](https://github.com/testcontainers/testcontainers-node) | `11.12.0` | `11.14.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.5.0` | `25.6.2` |\n| [@types/pg](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pg) | `8.18.0` | `8.20.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.0` | `4.1.5` |\n| [dotenv](https://github.com/motdotla/dotenv) | `17.3.1` | `17.4.2` |\n| [testcontainers](https://github.com/testcontainers/testcontainers-node) | `11.12.0` | `11.14.0` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.0` | `4.1.5` |\n| [@types/google.maps](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/google.maps) | `3.58.1` | `3.64.0` |\n| [@libsql/client](https://github.com/tursodatabase/libsql-client-ts/tree/HEAD/packages/libsql-client) | `0.17.0` | `0.17.3` |\n\nUpdates `eslint` from 10.0.3 to 10.3.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.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\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/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\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/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f58136dd47364a4cae7054a64f7bf1e79693813\"\u003e\u003ccode\u003e2f58136\u003c/code\u003e\u003c/a\u003e chore: pin peter-evans/create-pull-request action to 5f6978f (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20810\"\u003e#20810\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/77add7f1bc91ed17bba3be3289928a9146c5f5a1\"\u003e\u003ccode\u003e77add7f\u003c/code\u003e\u003c/a\u003e chore: add initial ecosystem plugin tests workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19643\"\u003e#19643\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4023b55490fae55e464fe35530ef038cdf5d79a5\"\u003e\u003ccode\u003e4023b55\u003c/code\u003e\u003c/a\u003e test: Add unit tests for SuppressionsService.prune() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20797\"\u003e#20797\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/54080dad4f77bb39a1a843933d4ff3a2b7c175e2\"\u003e\u003ccode\u003e54080da\u003c/code\u003e\u003c/a\u003e test: add unit tests for ForkContext (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20778\"\u003e#20778\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0e2bcc4bf19253aaebfbd7df87824b0ca4a151f\"\u003e\u003ccode\u003ef0e2bcc\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.suppress() method (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20765\"\u003e#20765\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a7f0b94743a99bcdf8d07cff15ffbfa6a6c5f927\"\u003e\u003ccode\u003ea7f0b94\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20782\"\u003e#20782\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7bf93d9e79f6dbf77242cbb9a9b8be834730fccd\"\u003e\u003ccode\u003e7bf93d9\u003c/code\u003e\u003c/a\u003e chore: update TypeScript to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20677\"\u003e#20677\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b42dd72e76e7f90e7f0be9458288d93353052adc\"\u003e\u003ccode\u003eb42dd72\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20781\"\u003e#20781\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b252be80f362cca7be3326a6dbe958680fdfe9a\"\u003e\u003ccode\u003e2b252be\u003c/code\u003e\u003c/a\u003e test: add unit tests for IdGenerator (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20775\"\u003e#20775\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.2.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/14be92b6d1fa0923b8923830f2208e5e2705b002\"\u003e\u003ccode\u003e14be92b\u003c/code\u003e\u003c/a\u003e fix: model generator yield resumption paths in code path analysis (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20665\"\u003e#20665\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84a19d2c32255db6b9cfc08644a607aae6d5cb62\"\u003e\u003ccode\u003e84a19d2\u003c/code\u003e\u003c/a\u003e fix: no-async-promise-executor false positives for shadowed Promise (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20740\"\u003e#20740\u003c/a\u003e) (xbinaryx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/af764af0ec38225755fbf8a6f207f0c77b595a8d\"\u003e\u003ccode\u003eaf764af\u003c/code\u003e\u003c/a\u003e fix: clarify language and processor validation errors (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20729\"\u003e#20729\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e251b89a38280973e468a4a9386c138f4f55d10d\"\u003e\u003ccode\u003ee251b89\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20715\"\u003e#20715\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca92ca0fb4599e8de1e2fb914e695fe7397cbe63\"\u003e\u003ccode\u003eca92ca0\u003c/code\u003e\u003c/a\u003e docs: reuse markdown-it instance for markdown filter (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20768\"\u003e#20768\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/57d2ee213305cee0cb55ef08e0480b57396269a9\"\u003e\u003ccode\u003e57d2ee2\u003c/code\u003e\u003c/a\u003e docs:  Enable Eleventy incremental mode for watch (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20767\"\u003e#20767\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c1621b915742276e5f4b25efe790ca62296330dc\"\u003e\u003ccode\u003ec1621b9\u003c/code\u003e\u003c/a\u003e docs: fix typos in code-path-analyzer.js (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20700\"\u003e#20700\u003c/a\u003e) (Ayush Shukla)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1418d522d10bde1960f4942afb548bc7160ec49e\"\u003e\u003ccode\u003e1418d52\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/39771e6e600f0b0617fdeafff6dd07e4211ffde6\"\u003e\u003ccode\u003e39771e6\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/71e04693def2df57268f08f3072a2749df6bf438\"\u003e\u003ccode\u003e71e0469\u003c/code\u003e\u003c/a\u003e docs: fix incomplete JSDoc param description in no-shadow rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20728\"\u003e#20728\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22119ceb93e28f62262fc1d98ff1b1442d6e2dbf\"\u003e\u003ccode\u003e22119ce\u003c/code\u003e\u003c/a\u003e docs: clarify scope of for-direction rule with dead code examples (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20723\"\u003e#20723\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8f3fb77f122a5641d1833cad5d93f3f54fa3be0b\"\u003e\u003ccode\u003e8f3fb77\u003c/code\u003e\u003c/a\u003e docs: document \u003ccode\u003emeta.docs.dialects\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20718\"\u003e#20718\u003c/a\u003e) (Pixel998)\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/7ddfea9c4f62add1588c5c0b0da568c299246383\"\u003e\u003ccode\u003e7ddfea9\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20770\"\u003e#20770\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fac40e1de2ba7646cc7cd2d3f93fbdd1f8819001\"\u003e\u003ccode\u003efac40e1\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20763\"\u003e#20763\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7246f923332522d8b3d46b6ee646fce88535f3fb\"\u003e\u003ccode\u003e7246f92\u003c/code\u003e\u003c/a\u003e test: add tests for SuppressionsService.load() error handling (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20734\"\u003e#20734\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f34b1e592b0f63d766d9903998e8e36eb49d3aa\"\u003e\u003ccode\u003e4f34b1e\u003c/code\u003e\u003c/a\u003e chore: update pnpm/action-setup action to v5 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20762\"\u003e#20762\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/78892043a36da4aa7640b59c99344b00c181048a\"\u003e\u003ccode\u003e7889204\u003c/code\u003e\u003c/a\u003e 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b69b4fce4dc407c8e960eba638b5a3409c4f1fd\"\u003e\u003ccode\u003e5b69b4f\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.0.3...v10.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-react-hooks` from 7.0.1 to 7.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003eeslint-plugin-react-hooks's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eeslint-plugin-react-hooks@7.1.1 (April 17, 2026)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e 7.1.0 accidentally removed the \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule, causing errors for users who referenced it in their ESLint config. This is now fixed.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd deprecated no-op \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule for backwards compatibility. (\u003ca href=\"https://github.com/mofeiZ\"\u003e\u003ccode\u003e@​mofeiZ\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36307\"\u003e#36307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eeslint-plugin-react-hooks@7.1.0 (April 16, 2026)\u003c/h2\u003e\n\u003cp\u003eThis release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better \u003ccode\u003eset-state-in-effect\u003c/code\u003e detection, improved ref validation, and more helpful error reporting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ESLint v10 support. (\u003ca href=\"https://github.com/azat-io\"\u003e\u003ccode\u003e@​azat-io\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35720\"\u003e#35720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip compilation for non-React files to improve performance. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35589\"\u003e#35589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix exhaustive deps bug with Flow type casting. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35691\"\u003e#35691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseEffectEvent\u003c/code\u003e checks in component syntax. (\u003ca href=\"https://github.com/jbrown215\"\u003e\u003ccode\u003e@​jbrown215\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35041\"\u003e#35041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eset-state-in-effect\u003c/code\u003e validation with fewer false negatives. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35134\"\u003e#35134\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35147\"\u003e#35147\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35214\"\u003e#35214\u003c/a\u003e, \u003ca href=\"https://github.com/chesnokov-tony\"\u003e\u003ccode\u003e@​chesnokov-tony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35419\"\u003e#35419\u003c/a\u003e, \u003ca href=\"https://github.com/jsleitor\"\u003e\u003ccode\u003e@​jsleitor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36107\"\u003e#36107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved ref validation for non-mutating functions and event handler props. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35893\"\u003e#35893\u003c/a\u003e, \u003ca href=\"https://github.com/kolvian\"\u003e\u003ccode\u003e@​kolvian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35062\"\u003e#35062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompiler now reports all errors instead of stopping at the first. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35873\"\u003e#35873\u003c/a\u003e–\u003ca href=\"https://redirect.github.com/facebook/react/pull/35884\"\u003e#35884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved source locations and error display in compiler diagnostics. (\u003ca href=\"https://github.com/nathanmarks\"\u003e\u003ccode\u003e@​nathanmarks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35348\"\u003e#35348\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/34963\"\u003e#34963\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/facebook/react/blob/main/packages/eslint-plugin-react-hooks/CHANGELOG.md\"\u003eeslint-plugin-react-hooks's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.1.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e 7.1.0 accidentally removed the \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule, causing errors for users who referenced it in their ESLint config. This is now fixed.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd deprecated no-op \u003ccode\u003ecomponent-hook-factories\u003c/code\u003e rule for backwards compatibility. (\u003ca href=\"https://github.com/mofeiZ\"\u003e\u003ccode\u003e@​mofeiZ\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36307\"\u003e#36307\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e7.1.0\u003c/h2\u003e\n\u003cp\u003eThis release adds ESLint v10 support, improves performance by skipping compilation for non-React files, and includes compiler lint improvements including better \u003ccode\u003eset-state-in-effect\u003c/code\u003e detection, improved ref validation, and more helpful error reporting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd ESLint v10 support. (\u003ca href=\"https://github.com/azat-io\"\u003e\u003ccode\u003e@​azat-io\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35720\"\u003e#35720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip compilation for non-React files to improve performance. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35589\"\u003e#35589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix exhaustive deps bug with Flow type casting. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35691\"\u003e#35691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseEffectEvent\u003c/code\u003e checks in component syntax. (\u003ca href=\"https://github.com/jbrown215\"\u003e\u003ccode\u003e@​jbrown215\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35041\"\u003e#35041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved \u003ccode\u003eset-state-in-effect\u003c/code\u003e validation with fewer false negatives. (\u003ca href=\"https://github.com/jorge-cab\"\u003e\u003ccode\u003e@​jorge-cab\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35134\"\u003e#35134\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35147\"\u003e#35147\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e\u003ccode\u003e@​jackpope\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35214\"\u003e#35214\u003c/a\u003e, \u003ca href=\"https://github.com/chesnokov-tony\"\u003e\u003ccode\u003e@​chesnokov-tony\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35419\"\u003e#35419\u003c/a\u003e, \u003ca href=\"https://github.com/jsleitor\"\u003e\u003ccode\u003e@​jsleitor\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/36107\"\u003e#36107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved ref validation for non-mutating functions and event handler props. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35893\"\u003e#35893\u003c/a\u003e, \u003ca href=\"https://github.com/kolvian\"\u003e\u003ccode\u003e@​kolvian\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35062\"\u003e#35062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCompiler now reports all errors instead of stopping at the first. (\u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35873\"\u003e#35873\u003c/a\u003e–\u003ca href=\"https://redirect.github.com/facebook/react/pull/35884\"\u003e#35884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved source locations and error display in compiler diagnostics. (\u003ca href=\"https://github.com/nathanmarks\"\u003e\u003ccode\u003e@​nathanmarks\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/35348\"\u003e#35348\u003c/a\u003e, \u003ca href=\"https://github.com/josephsavona\"\u003e\u003ccode\u003e@​josephsavona\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/facebook/react/pull/34963\"\u003e#34963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/eslint-plugin-react-hooks@7.1.1/packages/eslint-plugin-react-hooks\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier` from 3.8.1 to 3.8.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/releases\"\u003eprettier's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.8.3\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003eprettier/prettier#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/3.8.3/CHANGELOG.md#383\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.8.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Angular v21.2\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e🔗 \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md#382\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prettier/prettier/blob/main/CHANGELOG.md\"\u003eprettier's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.8.3\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.2...3.8.3\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eSCSS: Prevent trailing comma in \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18471\"\u003e#18471\u003c/a\u003e by \u003ca href=\"https://github.com/kovsu\"\u003e\u003ccode\u003e@​kovsu\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"scss\"\u003e\u003ccode\u003e// Input\n$value: if(sass(false): 1; else: -1);\n\u003cp\u003e// Prettier 3.8.2\n$value: if(\nsass(false): 1; else: -1,\n);\u003c/p\u003e\n\u003cp\u003e// Prettier 3.8.3\n$value: if(sass(false): 1; else: -1);\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch1\u003e3.8.2\u003c/h1\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.2\"\u003ediff\u003c/a\u003e\u003c/p\u003e\n\u003ch4\u003eAngular: Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/pull/18722\"\u003e#18722\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prettier/prettier/pull/19034\"\u003e#19034\u003c/a\u003e by \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e)\u003c/h4\u003e\n\u003cp\u003eExhaustive typechecking with \u003ccode\u003e@default never;\u003c/code\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;!-- Input --\u0026gt;\n@switch (foo) {\n  @case (1) {}\n  @default never;\n}\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.1 --\u0026gt;\nSyntaxError: Incomplete block \u0026quot;default never\u0026quot;. If you meant to write the @ character, you should use the \u0026quot;\u0026amp;\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/64\"\u003e#64\u003c/a\u003e;\u0026quot; HTML entity instead. (3:3)\u003c/p\u003e\n\u003cp\u003e\u0026lt;!-- Prettier 3.8.2 --\u0026gt;\n\u003ca href=\"https://github.com/switch\"\u003e\u003ccode\u003e@​switch\u003c/code\u003e\u003c/a\u003e (foo) {\n\u003ca href=\"https://github.com/case\"\u003e\u003ccode\u003e@​case\u003c/code\u003e\u003c/a\u003e (1) {}\n\u003ca href=\"https://github.com/default\"\u003e\u003ccode\u003e@​default\u003c/code\u003e\u003c/a\u003e never;\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003earrow function\u003c/code\u003e and \u003ccode\u003einstanceof\u003c/code\u003e expressions.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cpre lang=\"html\"\u003e\u003ccode\u003e\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt; \n\u003c/code\u003e\u003c/pre\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/d7108a79ec745c04292aabf22c4c1adbd690b191\"\u003e\u003ccode\u003ed7108a7\u003c/code\u003e\u003c/a\u003e Release 3.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/177f90898170d363ef64fde663e4d13170688bfe\"\u003e\u003ccode\u003e177f908\u003c/code\u003e\u003c/a\u003e Prevent trailing comma in SCSS \u003ccode\u003eif()\u003c/code\u003e function (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18471\"\u003e#18471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/1cd40668c3d6f2f4cf9d87bbc9096d92361b2606\"\u003e\u003ccode\u003e1cd4066\u003c/code\u003e\u003c/a\u003e Release \u003ccode\u003e@​prettier/plugin-oxc\u003c/code\u003e\u003ca href=\"https://github.com/0\"\u003e\u003ccode\u003e@​0\u003c/code\u003e\u003c/a\u003e.1.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/a8700e245038cd8cc0cf28ef06ffedbcb3fc2dfc\"\u003e\u003ccode\u003ea8700e2\u003c/code\u003e\u003c/a\u003e Update oxc-parser to v0.125.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/752157c78eca6f0a30e5d5cb513b682c5ecfa01e\"\u003e\u003ccode\u003e752157c\u003c/code\u003e\u003c/a\u003e Fix tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/053fd418e180b12fa2014260212fae831f5fc5ec\"\u003e\u003ccode\u003e053fd41\u003c/code\u003e\u003c/a\u003e Bump Prettier dependency to 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/904c6365ec46726fd0e21021c52ae934b7e5abc6\"\u003e\u003ccode\u003e904c636\u003c/code\u003e\u003c/a\u003e Clean changelog_unreleased\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/dc1f7fcc508d116cbf1644d69a1f0eb93e40d4a4\"\u003e\u003ccode\u003edc1f7fc\u003c/code\u003e\u003c/a\u003e Update dependents count\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/b31557cf331a02acf83e7e29d1001b070189a0d9\"\u003e\u003ccode\u003eb31557c\u003c/code\u003e\u003c/a\u003e Release 3.8.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prettier/prettier/commit/96bbaeda0525bf758e464aed2f939d739a85c315\"\u003e\u003ccode\u003e96bbaed\u003c/code\u003e\u003c/a\u003e Support Angular v21.2 (\u003ca href=\"https://redirect.github.com/prettier/prettier/issues/18722\"\u003e#18722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prettier/prettier/compare/3.8.1...3.8.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prettier-plugin-tailwindcss` from 0.7.2 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases\"\u003eprettier-plugin-tailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.7.4\u003c/h2\u003e\n\u003cp\u003eSame as v0.7.2, since v0.7.3 contained breaking changes.\u003c/p\u003e\n\u003ch2\u003ev0.7.3\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\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/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md\"\u003eprettier-plugin-tailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.8.0] - 2026-04-27\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRequire at least Prettier 3.7.x (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExport public sorting APIs to \u003ccode\u003e/sorter\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/438\"\u003e#438\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove top-level await (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove load-time performance (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/420\"\u003e#420\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove config resolution caching with directory-based cache (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/432\"\u003e#432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad compatible plugins on demand and tighten plugin detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/437\"\u003e#437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLoad v3/v4 modules only when needed (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/439\"\u003e#439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recast/ast-types deps and optimize dynamic JS attribute handling (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/440\"\u003e#440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused deps (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/441\"\u003e#441\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the plugin that has already been imported rather than dynamically importing it again (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/442\"\u003e#442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip visiting non-node children (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/443\"\u003e#443\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize whitespace-only class detection (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/429\"\u003e#429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCollapse whitespace in template literals with adjacent quasis (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/427\"\u003e#427\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003ecanCollapseWhitespaceIn\u003c/code\u003e handling for \u003ccode\u003e\u0026quot;tailwindPreserveWhitespace\u0026quot;: true\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/428\"\u003e#428\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/tailwindlabs/prettier-plugin-tailwindcss/commit/f77532e1c604f1ab06bc1b9902f6d9b115150998\"\u003e\u003ccode\u003ef77532e\u003c/code\u003e\u003c/a\u003e 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/4815377fb1bb89cfe94bcbf566d1d6283f8e41e3\"\u003e\u003ccode\u003e4815377\u003c/code\u003e\u003c/a\u003e Update the changelog for recent PRs (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/449\"\u003e#449\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/0a7ddcb677a9ae10837f9941ae9fef2d9b33386d\"\u003e\u003ccode\u003e0a7ddcb\u003c/code\u003e\u003c/a\u003e Fix insiders tags sometimes published to latest channel (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/453\"\u003e#453\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/8066e85c13026f118bef653217d34f5aed0bec20\"\u003e\u003ccode\u003e8066e85\u003c/code\u003e\u003c/a\u003e release on \u003ccode\u003epublished\u003c/code\u003e event\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3b0ed57817c1b44ecf14484b55e3720fe15dc261\"\u003e\u003ccode\u003e3b0ed57\u003c/code\u003e\u003c/a\u003e move \u003ccode\u003e--silent\u003c/code\u003e flag before the script\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/f7d2598fe00779cd362819437f4f0a1f866208fc\"\u003e\u003ccode\u003ef7d2598\u003c/code\u003e\u003c/a\u003e 0.7.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/9a511914abfa10fa6f66405cee3e46892b9b6a2b\"\u003e\u003ccode\u003e9a51191\u003c/code\u003e\u003c/a\u003e merge \u003ccode\u003erelease.yml\u003c/code\u003e and \u003ccode\u003erelease-insiders.yml\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/3997fbd5ddf63b8b5bf600bff00b128acc8bfb7e\"\u003e\u003ccode\u003e3997fbd\u003c/code\u003e\u003c/a\u003e Use explicit import() expressions in plugin load arrays for bundler compatibi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/125a8bc77639529a5a0c7e4e8a02174d7ed2d70b\"\u003e\u003ccode\u003e125a8bc\u003c/code\u003e\u003c/a\u003e Fix v3 config loading with Jiti re-exports (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/448\"\u003e#448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/commit/2ac6e70fe9ef595cd910fc94ab98431ad652c6e4\"\u003e\u003ccode\u003e2ac6e70\u003c/code\u003e\u003c/a\u003e Enable \u003ccode\u003eminify: \u0026quot;dce-only\u003c/code\u003e in tsdown (\u003ca href=\"https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss/issues/447\"\u003e#447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.7.2...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by \u003ca href=\"https://www.npmjs.com/~GitHub%20Actions\"\u003eGitHub Actions\u003c/a\u003e, a new releaser for prettier-plugin-tailwindcss since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.1.4 to 0.1.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.1.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.1.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eb06b768: \u003ccode\u003ediagnose()\u003c/code\u003e now falls back to the first nested React subproject when the\nrequested directory has no root \u003ccode\u003epackage.json\u003c/code\u003e, instead of crashing with\n\u003ccode\u003eNo package.json found in \u0026lt;directory\u0026gt;\u003c/code\u003e. This unblocks external review\nrunners (e.g. the Vercel AI Code Review sandbox) that point \u003ccode\u003ediagnose()\u003c/code\u003e\nat the cloned repo root for projects whose \u003ccode\u003epackage.json\u003c/code\u003e lives in a\nsubfolder like \u003ccode\u003eapps/web\u003c/code\u003e. When neither the root nor any nested\nsubdirectory contains a React project, \u003ccode\u003ediagnose()\u003c/code\u003e now throws a clearer\n\u003ccode\u003eNo React project found in \u0026lt;directory\u0026gt;\u003c/code\u003e error.\u003c/li\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/HEAD/packages/react-doctor\"\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.57.0 to 8.59.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\"\u003etypescript-eslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.59.2\u003c/h2\u003e\n\u003ch2\u003e8.59.2 (2026-05-04)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-type-assertion] handle crash on recursive template literal types (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12150\"\u003e#12150\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-deprecated] object destructuring values should be treated as declarations (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12292\"\u003e#12292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003erule-tester:\u003c/strong\u003e add TypeScript as a peer dependency (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12288\"\u003e#12288\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDariusz Czajkowski\u003c/li\u003e\n\u003cli\u003eDima Barabash\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.59.1\u003c/h2\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\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-assertion] fix crash \u0026quot;TypeError: checker.getTypeArguments is not a function\u0026quot; (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246\"\u003e#12246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve index signatures in undefined unions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257\"\u003e#12257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269\"\u003e#12269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278\"\u003e#12278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-arguments] handle instantiation expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220\"\u003e#12220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241\"\u003e#12241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eanasm266 \u003ca href=\"https://github.com/anasm266\"\u003e\u003ccode\u003e@​anasm266\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnshika Jain \u003ca href=\"https://github.com/Anshikakalpana\"\u003e\u003ccode\u003e@​Anshikakalpana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUlrich Stark\u003c/li\u003e\n\u003cli\u003eyugo innami \u003ca href=\"https://github.com/nami8824\"\u003e\u003ccode\u003e@​nami8824\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.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\u003ev8.59.0\u003c/h2\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] report more cases based on assignability (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11789\"\u003e#11789\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\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.59.2 (2026-05-04)\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.59.2\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for 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.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.59.0 (2026-04-20)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for 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.59.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003e8.58.2 (2026-04-13)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eremove tsbuildinfo cache file from published packages (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAbhijeet Singh \u003ca href=\"https://github.com/cseas\"\u003e\u003ccode\u003e@​cseas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.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.58.1 (2026-04-08)\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.58.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.58.0 (2026-03-30)\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/2ec35f1760aade4df4c631d76d78c7ed5e136333\"\u003e\u003ccode\u003e2ec35f1\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ea9ae4f8817873480e3501145059f63e39e8d8a1\"\u003e\u003ccode\u003eea9ae4f\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/90c2803a4c250e0343598d41e973f95e743bf4ce\"\u003e\u003ccode\u003e90c2803\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/b3315fd7ba53b7da218e5675cd960939b80a76ab\"\u003e\u003ccode\u003eb3315fd\u003c/code\u003e\u003c/a\u003e chore: convert import eslint to import js - followup (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12100\"\u003e#12100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be6b49a02d68db9bdc8985e7e9e1598700fda2fa\"\u003e\u003ccode\u003ebe6b49a\u003c/code\u003e\u003c/a\u003e fix: remove tsbuildinfo cache file from published packages (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12187\"\u003e#12187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5311ed312eadf4e238324f2726ae0b1f3f2206e6\"\u003e\u003ccode\u003e5311ed3\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.2/packages/typescript-eslint\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@testcontainers/postgresql` from 11.12.0 to 11.14.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/testcontainers/testcontainers-node/releases\"\u003e@​testcontainers/postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev11.14.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd auto cleanup control for containers and compose environments \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for running in parallel for distinct UIDs \u003ca href=\"https://github.com/seanwu1105\"\u003e\u003ccode\u003e@​seanwu1105\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument LocalStack authentication requirements \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eOnly include TS files in test coverage paths \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1294\"\u003e#1294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix etcd/vault \u003ccode\u003erepository.url\u003c/code\u003e in package.json \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump the dependencies group across 14 directories with 13 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1289\"\u003e#1289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 1 directory with 21 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump mkdocs-material from 9.7.5 to 9.7.6 in the dependencies group @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group across 11 directories with 10 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump the dependencies group with 19 updates @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev11.13.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e🚀 Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Oracle Free module \u003ca href=\"https://github.com/collinmurd\"\u003e\u003ccode\u003e@​collinmurd\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1242\"\u003e#1242\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📖 Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprove AGENTS.md monorepo and PR-authoring guidance \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1265\"\u003e#1265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore search input after Material for MkDocs v9 update \u003ca href=\"https://github.com/HofmeisterAn\"\u003e\u003ccode\u003e@​HofmeisterAn\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1259\"\u003e#1259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Vitest global setup quickstart for Redis \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1245\"\u003e#1245\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧹 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDisable sourcemap emission to avoid missing source warnings \u003ca href=\"https://github.com/tmm\"\u003e\u003ccode\u003e@​tmm\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1268\"\u003e#1268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNPM audit \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1266\"\u003e#1266\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove Vault test client from node-vault to \u003ccode\u003e@​litehex/node-vault\u003c/code\u003e \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow couchbase patch version updates \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1251\"\u003e#1251\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExempt never-stale issues from stale workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1241\"\u003e#1241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd stale issue workflow \u003ca href=\"https://github.com/cristianrgreco\"\u003e\u003ccode\u003e@​cristianrgreco\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1240\"\u003e#1240\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency Updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump mkdocs-material from 9.7.4 to 9.7.5 in the dependencies group @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1269\"\u003e#1269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/afe8b7242d644d08b52eb24d9af85041f13497b0\"\u003e\u003ccode\u003eafe8b72\u003c/code\u003e\u003c/a\u003e Document LocalStack authentication requirements (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1295\"\u003e#1295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/841179f10af797189c3e743ed6ac905b0a593541\"\u003e\u003ccode\u003e841179f\u003c/code\u003e\u003c/a\u003e Only include TS files in test coverage paths (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1294\"\u003e#1294\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/4b470b5df4e444c15d105eae9b73aa612043a1f5\"\u003e\u003ccode\u003e4b470b5\u003c/code\u003e\u003c/a\u003e Add auto cleanup control for containers and compose (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/74b245394e3f4b6745412bffe0830d9cd3504909\"\u003e\u003ccode\u003e74b2453\u003c/code\u003e\u003c/a\u003e Add support for running in parallel for distinct UIDs (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/a6c535815e1278fb69e9929412876dad61b7b038\"\u003e\u003ccode\u003ea6c5358\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 14 directories with 13 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1289\"\u003e#1289\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/d0a1df4c12713d0a0ce8a86f72d86608acaa2d2e\"\u003e\u003ccode\u003ed0a1df4\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 1 directory with 21 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1287\"\u003e#1287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/e881d4914e7f3a89617fa69902353f0bb6f36470\"\u003e\u003ccode\u003ee881d49\u003c/code\u003e\u003c/a\u003e Bump mkdocs-material from 9.7.5 to 9.7.6 in the dependencies group (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1278\"\u003e#1278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/9c94bde330c7b6f3c6a3e806503370d053066a64\"\u003e\u003ccode\u003e9c94bde\u003c/code\u003e\u003c/a\u003e Bump the dependencies group across 11 directories with 10 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1279\"\u003e#1279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/6b78e96e2bfd2bd6edb1fb09f801d8692abbc0c2\"\u003e\u003ccode\u003e6b78e96\u003c/code\u003e\u003c/a\u003e Bump the dependencies group with 19 updates (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1280\"\u003e#1280\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/testcontainers/testcontainers-node/commit/a20ac805c516500742e1d85051c4f03d101942ac\"\u003e\u003ccode\u003ea20ac80\u003c/code\u003e\u003c/a\u003e Fix etcd/vault \u003ccode\u003erepository.url\u003c/code\u003e in package.json (\u003ca href=\"https://redirect.github.com/testcontainers/testcontainers-node/issues/1273\"\u003e#1273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/testcontainers/testcontainers-node/compare/v11.12.0...v11.14.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.5.0 to 25.6.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/pg` from 8.18.0 to 8.20.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/pg\"\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 4.1.0 to 4.1.5\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\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\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/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  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/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\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/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  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/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.4\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eDefault to text reporter \u003ccode\u003eskipFull\u003c/code\u003e if agent detected  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10018\"\u003evitest-dev/vitest#10018\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/53757804c\"\u003e\u003c!-- raw HTML omitted --\u003e(53757)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003eassertion\u003c/code\u003e as a public field  -  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/10095\"\u003evitest-dev/vitest#10095\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a120e3ab8\"\u003e\u003c!-- raw HTML omitted --\u003e(a120e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport aria snapshot  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e, \u003ca href=\"https://github.com/AriPerkkio\"\u003e\u003ccode\u003e@​AriPerkkio\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eCodex\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/9668\"\u003evitest-dev/vitest#9668\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d4fbb5cc9\"\u003e\u003c!-- raw HTML omitted --\u003e(d4fbb)\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\u003eAdd filterMeta option to json reporter  -  by \u003ca href=\"https://github.com/nami8824\"\u003e\u003ccode\u003e@​nami8824\u003c/code\u003e\u003c/a\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/10078\"\u003evitest-dev/vitest#10078\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b77de968e\"\u003e\u003c!-- raw HTML omitted --\u003e(b77de)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u0026quot;black\u0026quot; foreground for labeled terminal message to ensure contrast  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10076\"\u003evitest-dev/vitest#10076\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/203f07af7\"\u003e\u003c!-- raw HTML omitted --\u003e(203f0)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eexpect(..., message)\u003c/code\u003e consistent as error message prefix  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10068\"\u003evitest-dev/vitest#10068\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a1b5f0f4f\"\u003e\u003c!-- raw HTML omitted --\u003e(a1b5f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDo not hoist imports whose names match class properties .  -  by \u003ca href=\"https://github.com/SunsetFi\"\u003e\u003ccode\u003e@​SunsetFi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10093\"\u003evitest-dev/vitest#10093\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10094\"\u003evitest-dev/vitest#10094\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0fc4b47e0\"\u003e\u003c!-- raw HTML omitted --\u003e(0fc4b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Spread user server options into browser Vite server in project  -  by \u003ca href=\"https://github.com/GoldStrikeArch\"\u003e\u003ccode\u003e@​GoldStrikeArch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10049\"\u003evitest-dev/vitest#10049\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/65c9d55eb\"\u003e\u003c!-- raw HTML omitted --\u003e(65c9d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.3...v4.1.4\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.3\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eexperimental.preParse\u003c/code\u003e flag  -  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/10070\"\u003evitest-dev/vitest#10070\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7827363bd\"\u003e\u003c!-- raw HTML omitted --\u003e(78273)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003ebrowser.locators.exact\u003c/code\u003e option  -  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/10013\"\u003evitest-dev/vitest#10013\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/487990a19\"\u003e\u003c!-- raw HTML omitted --\u003e(48799)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eTestAttachment.bodyEncoding\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/percy-main/website-v2/pull/268","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/percy-main%2Fwebsite-v2/issues/268","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/268/packages"}},{"old_version":"0.0.37","new_version":"0.0.47","update_type":"patch","path":null,"pr_created_at":"2026-05-04T16:14:08.000Z","version_change":"0.0.37 → 0.0.47","issue":{"uuid":"4377990705","node_id":"PR_kwDORhzsZs7YFMMS","number":31,"state":"closed","title":"chore(deps): bump the npm-minor-patch group across 1 directory with 14 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-11T20:00:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-04T16:14:08.000Z","updated_at":"2026-05-11T20:00:59.000Z","time_to_close":618409,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"npm-minor-patch","update_count":14,"packages":[{"name":"@tanstack/react-query","old_version":"5.99.2","new_version":"5.100.9","repository_url":"https://github.com/TanStack/query"},{"name":"@tanstack/react-query-devtools","old_version":"5.99.2","new_version":"5.100.9","repository_url":"https://github.com/TanStack/query"},{"name":"dompurify","old_version":"3.4.0","new_version":"3.4.2","repository_url":"https://github.com/cure53/DOMPurify"},{"name":"react-router-dom","old_version":"7.14.1","new_version":"7.14.2","repository_url":"https://github.com/remix-run/react-router"},{"name":"@tailwindcss/vite","old_version":"4.2.3","new_version":"4.2.4","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@vitest/coverage-v8","old_version":"4.1.4","new_version":"4.1.5","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"eslint","old_version":"10.2.1","new_version":"10.3.0","repository_url":"https://github.com/eslint/eslint"},{"name":"globals","old_version":"17.5.0","new_version":"17.6.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"jsdom","old_version":"29.0.2","new_version":"29.1.1","repository_url":"https://github.com/jsdom/jsdom"},{"name":"react-doctor","old_version":"0.0.37","new_version":"0.0.47","repository_url":"https://github.com/millionco/react-doctor"},{"name":"typescript-eslint","old_version":"8.59.0","new_version":"8.59.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"vite","old_version":"8.0.9","new_version":"8.0.10","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the npm-minor-patch group with 12 updates in the /frontend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.99.2` | `5.100.9` |\n| [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools) | `5.99.2` | `5.100.9` |\n| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.0` | `3.4.2` |\n| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.1` | `7.14.2` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.3` | `4.2.4` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.4` | `4.1.5` |\n| [eslint](https://github.com/eslint/eslint) | `10.2.1` | `10.3.0` |\n| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |\n| [jsdom](https://github.com/jsdom/jsdom) | `29.0.2` | `29.1.1` |\n| [react-doctor](https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.37` | `0.0.47` |\n| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.59.0` | `8.59.1` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.9` | `8.0.10` |\n\n\nUpdates `@tanstack/react-query` from 5.99.2 to 5.100.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/fcee7bdc429385ae8ffa224fa8a7a9ec7b8ee380\"\u003e\u003ccode\u003efcee7bd\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e@​tanstack/react-query's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/fcee7bdc429385ae8ffa224fa8a7a9ec7b8ee380\"\u003e\u003ccode\u003efcee7bd\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/a53ef97f87decb8ea2431710f5199431d3c94c8d\"\u003e\u003ccode\u003ea53ef97\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.3\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(suspense): skip calling combine when queries would suspend (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10576\"\u003e#10576\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/f85d825e02efbbff02e2081528ed28f5e5382f7a\"\u003e\u003ccode\u003ef85d825\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.3\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/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/87f7ccf580d7c12c527ce922a43977c9c653f897\"\u003e\u003ccode\u003e87f7ccf\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10604\"\u003e#10604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/441204b9d22d1dcfc7ac85b04c21ce017a28603e\"\u003e\u003ccode\u003e441204b\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10582\"\u003e#10582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/55afb3e6fb631d684e9448b8265c68a4185c76b3\"\u003e\u003ccode\u003e55afb3e\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10581\"\u003e#10581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/fe287cc2471b74726a5d05f1c40a86a9ef891c7e\"\u003e\u003ccode\u003efe287cc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10579\"\u003e#10579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f85d825e02efbbff02e2081528ed28f5e5382f7a\"\u003e\u003ccode\u003ef85d825\u003c/code\u003e\u003c/a\u003e Feature/use suspense queries combine (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10576\"\u003e#10576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/93b28450008eb104bf3a9d661f0a5625719bd2ea\"\u003e\u003ccode\u003e93b2845\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10575\"\u003e#10575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/ea4497e8aa00d8c1c3a36fb1e17563a889d6ab31\"\u003e\u003ccode\u003eea4497e\u003c/code\u003e\u003c/a\u003e fix(query-core): stop wrapping persister generics in NoInfer (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10510\"\u003e#10510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.100.9/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tanstack/react-query-devtools` from 5.99.2 to 5.100.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e@​tanstack/react-query-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edocs(devtools): align logo, panel, and 'buttonPosition' union descriptions across docs and JSDoc (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10617\"\u003e#10617\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/blob/main/packages/react-query-devtools/CHANGELOG.md\"\u003e@​tanstack/react-query-devtools's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.100.9\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d21cacdec3028b700c4c2e3e0ff8dbe7a235e8c\"\u003e\u003ccode\u003e3d21cac\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.9\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.8\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.7\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003edocs(devtools): align logo, panel, and 'buttonPosition' union descriptions across docs and JSDoc (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10617\"\u003e#10617\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.7\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.6\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.6\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.5\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.5\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.5\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e5.100.4\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix(devtools): change onClose callback type from () =\u0026gt; unknown to () =\u0026gt; void (\u003ca href=\"https://redirect.github.com/TanStack/query/pull/10118\"\u003e#10118\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/3d1a62e63bd864359e369bb21356fa80d043f2ba\"\u003e\u003ccode\u003e3d1a62e\u003c/code\u003e\u003c/a\u003e]:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.100.4\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/8c3d523d0ab0b3f8fad28fbaae6807e7aca7eb54\"\u003e\u003ccode\u003e8c3d523\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10630\"\u003e#10630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/03eba38ae9f9367022316d802d827a8460edcab7\"\u003e\u003ccode\u003e03eba38\u003c/code\u003e\u003c/a\u003e test(react-query-devtools): add tests for missing 'QueryClient', context prov...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/9800c8f1a3f7907956410c23426a26d981e7d694\"\u003e\u003ccode\u003e9800c8f\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10623\"\u003e#10623\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3ae42619e5713b2fd6916760e84f7c9ddaa7a317\"\u003e\u003ccode\u003e3ae4261\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10620\"\u003e#10620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/868577d5daa6de7dc7698f8b41ad5cf225606d05\"\u003e\u003ccode\u003e868577d\u003c/code\u003e\u003c/a\u003e docs(devtools): align logo, panel, and option union descriptions across docs ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/87f7ccf580d7c12c527ce922a43977c9c653f897\"\u003e\u003ccode\u003e87f7ccf\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10604\"\u003e#10604\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/441204b9d22d1dcfc7ac85b04c21ce017a28603e\"\u003e\u003ccode\u003e441204b\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10582\"\u003e#10582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/55afb3e6fb631d684e9448b8265c68a4185c76b3\"\u003e\u003ccode\u003e55afb3e\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10581\"\u003e#10581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3d1a62e63bd864359e369bb21356fa80d043f2ba\"\u003e\u003ccode\u003e3d1a62e\u003c/code\u003e\u003c/a\u003e fix(devtools): change onClose callback type from () =\u0026gt; unknown to () … (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10118\"\u003e#10118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/fe287cc2471b74726a5d05f1c40a86a9ef891c7e\"\u003e\u003ccode\u003efe287cc\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools/issues/10579\"\u003e#10579\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query-devtools@5.100.9/packages/react-query-devtools\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dompurify` from 3.4.0 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cure53/DOMPurify/releases\"\u003edompurify's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eDOMPurify 3.4.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue with URI validation on attributes allowed via \u003ccode\u003eADD_ATTR\u003c/code\u003e callback, thanks \u003ca href=\"https://github.com/nelstrom\"\u003e\u003ccode\u003e@​nelstrom\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue with source maps referring to non-existing files, thanks \u003ca href=\"https://github.com/cmdcolin\"\u003e\u003ccode\u003e@​cmdcolin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated existing workflows, fuzzer, release signing, etc., added more tests\u003c/li\u003e\n\u003cli\u003eBumped several dependencies where possible\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDOMPurify 3.4.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed an issue with on-handler stripping for HTML-spec-reserved custom element names (\u003ccode\u003efont-face\u003c/code\u003e, \u003ccode\u003ecolor-profile\u003c/code\u003e, \u003ccode\u003emissing-glyph\u003c/code\u003e, \u003ccode\u003efont-face-src\u003c/code\u003e, \u003ccode\u003efont-face-uri\u003c/code\u003e, \u003ccode\u003efont-face-format\u003c/code\u003e, \u003ccode\u003efont-face-name\u003c/code\u003e) under permissive \u003ccode\u003eCUSTOM_ELEMENT_HANDLING\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed a case-sensitivity gap in the \u003ccode\u003eannotation-xml\u003c/code\u003e check that allowed mixed-case variants to bypass the basic-custom-element exclusion in XHTML mode\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSANITIZE_NAMED_PROPS\u003c/code\u003e repeatedly prefixing already-prefixed \u003ccode\u003eid\u003c/code\u003e and \u003ccode\u003ename\u003c/code\u003e values on subsequent sanitization\u003c/li\u003e\n\u003cli\u003eFixed the \u003ccode\u003eIN_PLACE\u003c/code\u003e root-node check to explicitly guard against non-string \u003ccode\u003enodeName\u003c/code\u003e (DOM-clobbering robustness)\u003c/li\u003e\n\u003cli\u003eRemoved a duplicate \u003ccode\u003eslot\u003c/code\u003e entry from the default HTML attribute allow-list\u003c/li\u003e\n\u003cli\u003eStrengthened the fast-check fuzz harness with explicit XSS invariants, an expanded seed-payload corpus, an additional idempotence property for \u003ccode\u003eSANITIZE_NAMED_PROPS\u003c/code\u003e, and a negative-control assertion ensuring the invariants actually fire\u003c/li\u003e\n\u003cli\u003eAdded regression and pinning tests covering the above fixes and two accepted-behavior contracts (\u003ccode\u003eSAFE_FOR_TEMPLATES\u003c/code\u003e greedy scrub, hook-added attribute handling)\u003c/li\u003e\n\u003cli\u003eExtended CodeQL analysis to run on \u003ccode\u003e3.x\u003c/code\u003e and \u003ccode\u003e2.x\u003c/code\u003e maintenance branches\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/6f67fd396a7b8c64294343999fe607ca1f5299c0\"\u003e\u003ccode\u003e6f67fd3\u003c/code\u003e\u003c/a\u003e Sync/3.4.2 (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1322\"\u003e#1322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/5b0cdbbf52331e854c0a2de875b1a3790ecec2b8\"\u003e\u003ccode\u003e5b0cdbb\u003c/code\u003e\u003c/a\u003e chore: merge main into 3.x for 3.4.1 release (\u003ca href=\"https://redirect.github.com/cure53/DOMPurify/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cure53/DOMPurify/commit/09f59115a311469de5b625225760593e551f080a\"\u003e\u003ccode\u003e09f5911\u003c/code\u003e\u003c/a\u003e test: added three more browsers to test setup (OSX, mobile)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cure53/DOMPurify/compare/3.4.0...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version adds \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-router-dom` from 7.14.1 to 7.14.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md\"\u003ereact-router-dom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.14.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies:\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/remix-run/react-router/releases/tag/react-router@7.14.2\"\u003e\u003ccode\u003ereact-router@7.14.2\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/remix-run/react-router/commit/cf1d25003aa1217dc21c16e95d483601940ae9af\"\u003e\u003ccode\u003ecf1d250\u003c/code\u003e\u003c/a\u003e Release v7.14.2 (\u003ca href=\"https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom/issues/14993\"\u003e#14993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/remix-run/react-router/commits/react-router-dom@7.14.2/packages/react-router-dom\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.3 to 4.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e@​tailwindcss/vite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e@​tailwindcss/vite's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/685c19e266a6b75842747acab6fe7076e82df62d\"\u003e\u003ccode\u003e685c19e\u003c/code\u003e\u003c/a\u003e Fix issue around resolving paths in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-vite\"\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 4.1.4 to 4.1.5\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\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\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/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  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/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\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/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  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/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\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/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.5/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.2.1 to 10.3.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.3.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\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/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e) (Simon Podlipsky)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e) (Milos Djermanovic)\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/32cc7ab4ec653ce89da92deb5c40a9f4fc707fe5\"\u003e\u003ccode\u003e32cc7ab\u003c/code\u003e\u003c/a\u003e docs: fix typos in docs and comments (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20809\"\u003e#20809\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f479376a2fa463d823ab762db6bb37ce8d2ee8f\"\u003e\u003ccode\u003e7f47937\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2f58136dd47364a4cae7054a64f7bf1e79693813\"\u003e\u003ccode\u003e2f58136\u003c/code\u003e\u003c/a\u003e chore: pin peter-evans/create-pull-request action to 5f6978f (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20810\"\u003e#20810\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/77add7f1bc91ed17bba3be3289928a9146c5f5a1\"\u003e\u003ccode\u003e77add7f\u003c/code\u003e\u003c/a\u003e chore: add initial ecosystem plugin tests workflow (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/19643\"\u003e#19643\u003c/a\u003e) (Josh Goldberg ✨)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4023b55490fae55e464fe35530ef038cdf5d79a5\"\u003e\u003ccode\u003e4023b55\u003c/code\u003e\u003c/a\u003e test: Add unit tests for SuppressionsService.prune() (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20797\"\u003e#20797\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/54080dad4f77bb39a1a843933d4ff3a2b7c175e2\"\u003e\u003ccode\u003e54080da\u003c/code\u003e\u003c/a\u003e test: add unit tests for ForkContext (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20778\"\u003e#20778\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f0e2bcc4bf19253aaebfbd7df87824b0ca4a151f\"\u003e\u003ccode\u003ef0e2bcc\u003c/code\u003e\u003c/a\u003e test: add unit tests for SuppressionsService.suppress() method (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20765\"\u003e#20765\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a7f0b94743a99bcdf8d07cff15ffbfa6a6c5f927\"\u003e\u003ccode\u003ea7f0b94\u003c/code\u003e\u003c/a\u003e chore: update dependency prettier to v3.8.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20782\"\u003e#20782\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7bf93d9e79f6dbf77242cbb9a9b8be834730fccd\"\u003e\u003ccode\u003e7bf93d9\u003c/code\u003e\u003c/a\u003e chore: update TypeScript to v6 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20677\"\u003e#20677\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b42dd72e76e7f90e7f0be9458288d93353052adc\"\u003e\u003ccode\u003eb42dd72\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.0 to 6.0.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20781\"\u003e#20781\u003c/a\u003e) (dependabot[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b252be80f362cca7be3326a6dbe958680fdfe9a\"\u003e\u003ccode\u003e2b252be\u003c/code\u003e\u003c/a\u003e test: add unit tests for IdGenerator (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20775\"\u003e#20775\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/78892043a36da4aa7640b59c99344b00c181048a\"\u003e\u003ccode\u003e7889204\u003c/code\u003e\u003c/a\u003e 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b69b4fce4dc407c8e960eba638b5a3409c4f1fd\"\u003e\u003ccode\u003e5b69b4f\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d32235ec19ceea211fa86452afa383ca05f5c2f9\"\u003e\u003ccode\u003ed32235e\u003c/code\u003e\u003c/a\u003e ci: use pnpm in \u003ccode\u003eeslint-flat-config-utils\u003c/code\u003e type integration test (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20826\"\u003e#20826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b6ae5cf07b9b51802367539cb24b245b61eaa37c\"\u003e\u003ccode\u003eb6ae5cf\u003c/code\u003e\u003c/a\u003e fix: handle unavailable require cache (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20812\"\u003e#20812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ffb14ea517de750ed1181579ef844af342e4096\"\u003e\u003ccode\u003e3ffb14e\u003c/code\u003e\u003c/a\u003e chore: clean up typos in comments and JSDoc (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20821\"\u003e#20821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6fb3685bcbe9a6f72fd7dfb9129686b6fb96b0bd\"\u003e\u003ccode\u003e6fb3685\u003c/code\u003e\u003c/a\u003e fix: rule suggestions cause continuation in class body (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20787\"\u003e#20787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/22eb58a21cbde2fbd53a1fae99453d408672de50\"\u003e\u003ccode\u003e22eb58a\u003c/code\u003e\u003c/a\u003e chore: add missing continue-on-error to ecosystem-tests.yml (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20818\"\u003e#20818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/88bf0024cb36caebf2880516d9a1f81aa75dafe2\"\u003e\u003ccode\u003e88bf002\u003c/code\u003e\u003c/a\u003e ci: bump pnpm/action-setup from 6.0.1 to 6.0.3 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20815\"\u003e#20815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/379571a975f2b24d88037b9de2e72ec61d004130\"\u003e\u003ccode\u003e379571a\u003c/code\u003e\u003c/a\u003e feat: add suggestions for no-unused-private-class-members (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20773\"\u003e#20773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/97c8c330beae9557ad24e19f94eebc8d08d1a722\"\u003e\u003ccode\u003e97c8c33\u003c/code\u003e\u003c/a\u003e chore: update ilshidur/action-discord action to v0.4.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20811\"\u003e#20811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.2.1...v10.3.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.5.0 to 17.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sindresorhus/globals/releases\"\u003eglobals's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev17.6.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)  00a4dd9\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/6b15870f1c08b60b5b57afe45a703d9ed0be39bc\"\u003e\u003ccode\u003e6b15870\u003c/code\u003e\u003c/a\u003e 17.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/00a4dd9821830a9b044798120e86b1bb1a54648d\"\u003e\u003ccode\u003e00a4dd9\u003c/code\u003e\u003c/a\u003e Update globals (2026-05-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/343\"\u003e#343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jsdom` from 29.0.2 to 29.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jsdom/jsdom/releases\"\u003ejsdom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev29.1.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003e'border-radius'\u003c/code\u003e computed style serialization. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed computed style computation when using \u003ccode\u003e'background-origin'\u003c/code\u003e and \u003ccode\u003e'background-clip'\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly optimized initial calls to \u003ccode\u003egetComputedStyle()\u003c/code\u003e, before the cache warms up. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev29.1.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded basic support for the ratio CSS type. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003egetComputedStyle()\u003c/code\u003e sometimes returning outdated results after CSS was modified. (\u003ca href=\"https://github.com/asamuzaK\"\u003e\u003ccode\u003e@​asamuzaK\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/9b9ea7e10b7842cd38c61458a38774cc3b60c24c\"\u003e\u003ccode\u003e9b9ea7e\u003c/code\u003e\u003c/a\u003e 29.1.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/07efb7821c992108ec6d4d5fa603f1666e704b1a\"\u003e\u003ccode\u003e07efb78\u003c/code\u003e\u003c/a\u003e Optimize computed style comparison\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5f6632990297dddf82b1e0b369870ca27c11da90\"\u003e\u003ccode\u003e5f66329\u003c/code\u003e\u003c/a\u003e Fix background-origin/background-clip in background shorthand\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/ad8af77ecc76a572ccd139770df0f27c7c06217a\"\u003e\u003ccode\u003ead8af77\u003c/code\u003e\u003c/a\u003e Fix border shorthand handling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/5a3e88ea9b13d22457165c8296df7377ce243b24\"\u003e\u003ccode\u003e5a3e88e\u003c/code\u003e\u003c/a\u003e 29.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/73db2041724bb498ed55b4e863ffba7012e79675\"\u003e\u003ccode\u003e73db204\u003c/code\u003e\u003c/a\u003e Update dependencies and dev dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/a7168a579d26e43e8ea5599b7beb9b8f74c7f412\"\u003e\u003ccode\u003ea7168a5\u003c/code\u003e\u003c/a\u003e Support ratio CSS unit type\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jsdom/jsdom/commit/15346e055b070d4e4ed890b68e832b6dba1b9132\"\u003e\u003ccode\u003e15346e0\u003c/code\u003e\u003c/a\u003e Fix style cache invalidation\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jsdom/jsdom/compare/v29.0.2...v29.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.37 to 0.0.47\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/releases\"\u003ereact-doctor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ereact-doctor v0.0.38\u003c/h2\u003e\n\u003ch2\u003eWhat's new\u003c/h2\u003e\n\u003ch3\u003eGitHub Action improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eoffline\u003c/code\u003e input\u003c/strong\u003e — skip API calls in restricted environments (\u003ccode\u003eoffline: \u0026quot;true\u0026quot;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003efail-on\u003c/code\u003e + \u003ccode\u003eoffline\u003c/code\u003e\u003c/strong\u003e documented in README inputs table\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFix diff mode\u003c/strong\u003e on detached HEAD in pull_request events\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStrip ANSI\u003c/strong\u003e escape codes from PR comments (\u003ccode\u003eNO_COLOR=1\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eUpdate PR comments\u003c/strong\u003e instead of delete+recreate (no more double notifications)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eClickable file paths\u003c/strong\u003e — output now uses \u003ccode\u003efile:line\u003c/code\u003e format, clickable in VS Code and other terminals\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eWebsite\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eFix hydration mismatch\u003c/strong\u003e in terminal demo component\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAll config options documented\u003c/strong\u003e — added \u003ccode\u003efailOn\u003c/code\u003e, \u003ccode\u003ecustomRulesOnly\u003c/code\u003e, \u003ccode\u003eshare\u003c/code\u003e, \u003ccode\u003etextComponents\u003c/code\u003e to README\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/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.47\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003efix\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e6a0e6d6: chore(react-doctor): bump oxlint to ^1.62.0\u003c/p\u003e\n\u003cp\u003ePulls in oxlint v1.61.0 + v1.62.0 improvements (additional Vue rules,\njest/vitest rule splits, autofix for prefer-template, no-unknown-property\nsupport for React 19's precedence prop, jsx-a11y/anchor-is-valid attribute\nsettings, and various correctness fixes). The release-line breaking\nchanges are internal Rust API only — oxlint's CLI and config schema\nare unchanged.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003edbf200d: fix(react-doctor): filter React Compiler rules to those the loaded \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e actually exports\u003c/p\u003e\n\u003cp\u003eFollow-up to the \u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/141\"\u003e#141\u003c/a\u003e fix in 0.0.46. The peer range \u003ccode\u003e^6 || ^7\u003c/code\u003e allows\nv6.x of \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e, which doesn't expose the\n\u003ccode\u003evoid-use-memo\u003c/code\u003e rule (added in v7). When a v6 user had React\nCompiler detected, oxlint failed with\n\u003ccode\u003eRule 'void-use-memo' not found in plugin 'react-hooks-js'\u003c/code\u003e. The\nconfig now introspects the loaded plugin's \u003ccode\u003erules\u003c/code\u003e map and only\nenables \u003ccode\u003ereact-hooks-js/*\u003c/code\u003e entries that the installed version\nactually exports — so future rule additions or removals can no\nlonger crash a scan.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.46\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ec13a8df: fix(react-doctor): skip React Compiler rules when \u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e isn't installed\u003c/p\u003e\n\u003cp\u003eWhen a project had React Compiler detected but the optional peer\n\u003ccode\u003eeslint-plugin-react-hooks\u003c/code\u003e was not installed, oxlint failed with\n\u003ccode\u003ereact-hooks-js not found\u003c/code\u003e because the React Compiler rules were\nemitted into the config without the corresponding plugin entry.\nGate \u003ccode\u003eREACT_COMPILER_RULES\u003c/code\u003e on successful plugin resolution so a\nmissing optional peer silently skips them instead of crashing the\nscan (\u003ca href=\"https://github.com/millionco/react-doctor/tree/HEAD/packages/react-doctor/issues/141\"\u003e#141\u003c/a\u003e).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.45\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6b07924: \u003ccode\u003ereact-doctor install\u003c/code\u003e now delegates skill installation to\n\u003ca href=\"https://www.npmjs.com/package/agent-install\"\u003e\u003ccode\u003eagent-install\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e0.0.4\u003c/code\u003e,\nwhich natively models \u003cstrong\u003e54 supported coding agents\u003c/strong\u003e (up from the 8 we\npreviously hand-rolled).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/millionco/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` from 4.2.3 to 4.2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.4\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.4] - 2026-04-21\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure imports in \u003ccode\u003e@import\u003c/code\u003e and \u003ccode\u003e@plugin\u003c/code\u003e still resolve correctly when using Vite aliases in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19947\"\u003e#19947\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/69ad7cc5ec091125842aba783c5bfce536e9c234\"\u003e\u003ccode\u003e69ad7cc\u003c/code\u003e\u003c/a\u003e 4.2.4 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19948\"\u003e#19948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/tailwindcss\"\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.59.0 to 8.59.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.59.1\u003c/h2\u003e\n\u003ch2\u003e8.59.1 (2026-04-27)\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-assertion] fix crash \u0026quot;TypeError: checker.getTypeArguments is not a function\u0026quot; (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12246\"\u003e#12246\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve index signatures in undefined unions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12257\"\u003e#12257\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] preserve phantom type arguments in generic inference (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12269\"\u003e#12269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-assertion] avoid false positive in logical assignment assertions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12278\"\u003e#12278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-type-arguments] handle instantiation expressions (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12220\"\u003e#12220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] treat void as nullish in no-unnecessary-condition (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12241\"\u003e#12241\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eanasm266 \u003ca href=\"https://github.com/anasm266\"\u003e\u003ccode\u003e@​anasm266\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnshika Jain \u003ca href=\"https://github.com/Anshikakalpana\"\u003e\u003ccode\u003e@​Anshikakalpana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUlrich Stark\u003c/li\u003e\n\u003cli\u003eyugo innami \u003ca href=\"https://github.com/nami8824\"\u003e\u003ccode\u003e@​nami8824\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.59.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.59.1 (2026-04-27)\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.59.1\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\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/52457932e5507b5ca01e720a541f3f8d01e09b9d\"\u003e\u003ccode\u003e5245793\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.59.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.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 `vite` from 8.0.9 to 8.0.10\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitejs/vite/releases\"\u003evite's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.0.10\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.10/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.9...v8.0.10\"\u003e8.0.10\u003c/a\u003e (2026-04-23)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0-rc.17 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22299\"\u003e#22299\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a4d06d9015167d30fe8ac63d1ce2edc146cdca31\"\u003ea4d06d9\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ehmrClient.logger.debug\u003c/code\u003e and \u003ccode\u003ehmrClient.logger.error\u003c/code\u003e looked different from other HMR logs (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22147\"\u003e#22147\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/a4d828f2d5ed85440bc0774eab342e6f9a5e5f62\"\u003ea4d828f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecss:\u003c/strong\u003e show filename in CSS minification warnings for \u003ccode\u003e.css?inline\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22292\"\u003e#22292\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/83f0a785a2ae48d6761fb69f4b0523a24ae9342c\"\u003e83f0a78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eoptimizer:\u003c/strong\u003e allow user transform.target to override default in optimizeDeps (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22273\"\u003e#22273\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/5c7cec69b637544ab16009d8758df7dbbf7f2674\"\u003e5c7cec6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eremove format sniffing module resolution from JS resolver (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22297\"\u003e#22297\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/b8a21cc821c1434ac9d2b85ec53005df9edc306b\"\u003eb8a21cc\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eenable some typecheck rules (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22278\"\u003e#22278\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/943751801f70057ae94f9092e349c8f3fd9ccdf2\"\u003e9437518\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etypecheck client directory (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22284\"\u003e#22284\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/40a0847276502b33a3942b3cfab04b20218f3543\"\u003e40a0847\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/32c29780404c353f5a7c5ba4d06fc5e676741714\"\u003e\u003ccode\u003e32c2978\u003c/code\u003e\u003c/a\u003e release: v8.0.10\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/a4d06d9015167d30fe8ac63d1ce2edc146cdca31\"\u003e\u003ccode\u003ea4d06d9\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.0-rc.17 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22299\"\u003e#22299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/a4d828f2d5ed85440bc0774eab342e6f9a5e5f62\"\u003e\u003ccode\u003ea4d828f\u003c/code\u003e\u003c/a\u003e fix: \u003ccode\u003ehmrClient.logger.debug\u003c/code\u003e and \u003ccode\u003ehmrClient.logger.error\u003c/code\u003e looked different f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/83f0a785a2ae48d6761fb69f4b0523a24ae9342c\"\u003e\u003ccode\u003e83f0a78\u003c/code\u003e\u003c/a\u003e fix(css): show filename in CSS minification warnings for \u003ccode\u003e.css?inline\u003c/code\u003e (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22292\"\u003e#22292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/b8a21cc821c1434ac9d2b85ec53005df9edc306b\"\u003e\u003ccode\u003eb8a21cc\u003c/code\u003e\u003c/a\u003e fix: remove format sniffing module resolution from JS resolver (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22297\"\u003e#22297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/40a0847276502b33a3942b3cfab04b20218f3543\"\u003e\u003ccode\u003e40a0847\u003c/code\u003e\u003c/a\u003e refactor: typecheck client directory (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22284\"\u003e#22284\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/5c7cec69b637544ab16009d8758df7dbbf7f2674\"\u003e\u003ccode\u003e5c7cec6\u003c/code\u003e\u003c/a\u003e fix(optimizer): allow user transform.target to override default in optimizeDe...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/943751801f70057ae94f9092e349c8f3fd9ccdf2\"\u003e\u003ccode\u003e9437518\u003c/code\u003e\u003c/a\u003e refactor: enable some typecheck rules (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22278\"\u003e#22278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.10/packages/vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vitest` from 4.1.4 to 4.1.5\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\"\u003evitest's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.5\u003c/h2\u003e\n\u003ch3\u003e   🚀 Experimental Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option  -  by \u003ca href=\"https://github.com/BartWaardenburg\"\u003e\u003ccode\u003e@​BartWaardenburg\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/10119\"\u003evitest-dev/vitest#10119\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7\"\u003e\u003c!-- raw HTML omitted --\u003e(0e0ff)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e--project negation excludes browser instances  -  by \u003ca href=\"https://github.com/felamaslen\"\u003e\u003ccode\u003e@​felamaslen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10131\"\u003evitest-dev/vitest#10131\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc084\"\u003e\u003c!-- raw HTML omitted --\u003e(9423d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProject color label on html reporter  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10142\"\u003evitest-dev/vitest#10142\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986\"\u003e\u003c!-- raw HTML omitted --\u003e(596f7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10163\"\u003evitest-dev/vitest#10163\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b\"\u003e\u003c!-- raw HTML omitted --\u003e(122c2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAlias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e  -  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/10157\"\u003evitest-dev/vitest#10157\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3\"\u003e\u003c!-- raw HTML omitted --\u003e(663b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedad\"\u003e\u003c!-- raw HTML omitted --\u003e(9787d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRespect diff config options in soft assertions \u0026quot;  -  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/8696\"\u003evitest-dev/vitest#8696\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd\"\u003e\u003c!-- raw HTML omitted --\u003e(7dc6d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003east-collect\u003c/strong\u003e: Recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery  -  by \u003ca href=\"https://github.com/Yejneshwar\"\u003e\u003ccode\u003e@​Yejneshwar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10129\"\u003evitest-dev/vitest#10129\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab2\"\u003e\u003c!-- raw HTML omitted --\u003e(32546)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Descriptive error message when reports directory is removed during test run  -  by \u003ca href=\"https://github.com/DaveT1991\"\u003e\u003ccode\u003e@​DaveT1991\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/10117\"\u003evitest-dev/vitest#10117\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1413382e1\"\u003e\u003c!-- raw HTML omitted --\u003e(14133)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003esnapshot\u003c/strong\u003e: Increase default snapshot max output length  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eCodex\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10150\"\u003evitest-dev/vitest#10150\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/21e66ff63\"\u003e\u003c!-- raw HTML omitted --\u003e(21e66)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eui\u003c/strong\u003e: Fix jsx/tsx syntax highlight  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10152\"\u003evitest-dev/vitest#10152\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f1b1f6c7b\"\u003e\u003c!-- raw HTML omitted --\u003e(f1b1f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eweb-worker\u003c/strong\u003e: Support MessagePort objects referenced inside postMessage data  -  by \u003ca href=\"https://github.com/whitphx\"\u003e\u003ccode\u003e@​whitphx\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6 (1M context)\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9927\"\u003evitest-dev/vitest#9927\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/10124\"\u003evitest-dev/vitest#10124\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7ad7d39af\"\u003e\u003c!-- raw HTML omitted --\u003e(7ad7d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e: Make test-specification options writable  -  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/10154\"\u003evitest-dev/vitest#10154\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7\"\u003e\u003c!-- raw HTML omitted --\u003e(6abd5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.4...v4.1.5\"\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/vitest-dev/vitest/commit/e399846850fedf10b8228cbe46a419628998acd9\"\u003e\u003ccode\u003ee399846\u003c/code\u003e\u003c/a\u003e chore: release v4.1.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/7dc6d54fd9dda0fe6fee2fb6451d0611a9ecb6e7\"\u003e\u003ccode\u003e7dc6d54\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9787dedade9896a6d3eeed7739177d6c583a68a7\"\u003e\u003ccode\u003e9787ded\u003c/code\u003e\u003c/a\u003e fix: respect diff config options in soft assertions (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/8696\"\u003e#8696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/325463ab292c45c3ef27aa21ec7da380c307052c\"\u003e\u003ccode\u003e325463a\u003c/code\u003e\u003c/a\u003e fix(ast-collect): recognize _\u003cem\u003evi_import\u003c/em\u003e prefix in static test discovery (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10\"\u003e#10\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0e0ff41c7e86d6e2bf581f074dc216805d10d371\"\u003e\u003ccode\u003e0e0ff41\u003c/code\u003e\u003c/a\u003e feat(coverage): istanbul to support \u003ccode\u003einstrumenter\u003c/code\u003e option (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10119\"\u003e#10119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/663b99fe3e6a60fc8a7ccd2d9941d1cbe929b606\"\u003e\u003ccode\u003e663b99f\u003c/code\u003e\u003c/a\u003e fix: alias \u003ccode\u003eagent\u003c/code\u003e reporter to \u003ccode\u003eminimal\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10157\"\u003e#10157\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/122c25b5b157ffd31b376561b16ab983aa23e7bc\"\u003e\u003ccode\u003e122c25b\u003c/code\u003e\u003c/a\u003e fix: fix \u003ccode\u003evi.defineHelper\u003c/code\u003e called as object method (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10163\"\u003e#10163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/6abd557b7219156893dd13a1dbe86501d5542d2e\"\u003e\u003ccode\u003e6abd557\u003c/code\u003e\u003c/a\u003e feat(api): make test-specification options writable (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10154\"\u003e#10154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/596f73986abe2161a9a06f0ca03df68e82690b21\"\u003e\u003ccode\u003e596f739\u003c/code\u003e\u003c/a\u003e fix: project color label on html reporter (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10142\"\u003e#10142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/9423dc0841e97b6dcac8a73cdb8e656b3d6ba909\"\u003e\u003ccode\u003e9423dc0\u003c/code\u003e\u003c/a\u003e fix: --project negation excludes browser instances (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest/issues/10131\"\u003e#10131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest\"\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/merlijntishauser/unifi-homelab-ops/pull/31","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/merlijntishauser%2Funifi-homelab-ops/issues/31","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/31/packages"}},{"old_version":"0.0.30","new_version":"0.0.31","update_type":"patch","path":null,"pr_created_at":"2026-04-09T10:43:45.000Z","version_change":"0.0.30 → 0.0.31","issue":{"uuid":"4231517227","node_id":"PR_kwDORwhjPc7RGULU","number":15,"state":"open","title":"deps: bump the minor-and-patch group with 7 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-09T10:43:45.000Z","updated_at":"2026-04-09T10:44:08.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps: bump","group_name":"minor-and-patch","update_count":7,"packages":[{"name":"@tanstack/react-query","old_version":"5.96.2","new_version":"5.97.0","repository_url":"https://github.com/TanStack/query"},{"name":"better-auth","old_version":"1.6.0","new_version":"1.6.1","repository_url":"https://github.com/better-auth/better-auth"},{"name":"lucide-react","old_version":"1.7.0","new_version":"1.8.0","repository_url":"https://github.com/lucide-icons/lucide"},{"name":"react","old_version":"19.2.4","new_version":"19.2.5","repository_url":"https://github.com/facebook/react"},{"name":"oxfmt","old_version":"0.42.0","new_version":"0.44.0","repository_url":"https://github.com/oxc-project/oxc"},{"name":"react-doctor","old_version":"0.0.30","new_version":"0.0.31","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"vite","old_version":"8.0.7","new_version":"8.0.8","repository_url":"https://github.com/vitejs/vite"}],"path":null,"ecosystem":"npm"},"body":"Bumps the minor-and-patch group with 7 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query) | `5.96.2` | `5.97.0` |\n| [better-auth](https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth) | `1.6.0` | `1.6.1` |\n| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.7.0` | `1.8.0` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.5` |\n| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.42.0` | `0.44.0` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.30` | `0.0.31` |\n| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.0.7` | `8.0.8` |\n\nUpdates `@tanstack/react-query` from 5.96.2 to 5.97.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/TanStack/query/releases\"\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-devtools\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-next-experimental\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query-persist-client\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies []:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-persist-client-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/2bfb12cc44f1d8495106136e4ddacb817135f8f9\"\u003e\u003ccode\u003e2bfb12c\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.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/TanStack/query/blob/main/packages/react-query/CHANGELOG.md\"\u003e\u003ccode\u003e@​tanstack/react-query\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.97.0\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated dependencies [\u003ca href=\"https://github.com/TanStack/query/commit/2bfb12cc44f1d8495106136e4ddacb817135f8f9\"\u003e\u003ccode\u003e2bfb12c\u003c/code\u003e\u003c/a\u003e]:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​tanstack/query-core\u003c/code\u003e\u003ca href=\"https://github.com/5\"\u003e\u003ccode\u003e@​5\u003c/code\u003e\u003c/a\u003e.97.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/TanStack/query/commit/125067c05adf6a8bfef14a34aa5b963bc885885d\"\u003e\u003ccode\u003e125067c\u003c/code\u003e\u003c/a\u003e ci: Version Packages (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10436\"\u003e#10436\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f6991900dcd50367a3580d27f69ddfb6bd3a34f3\"\u003e\u003ccode\u003ef699190\u003c/code\u003e\u003c/a\u003e test(react-query): replace hardcoded query keys with 'queryKey()' utility (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/f3d3eea76b5f085650a62494ab72f351d70a0d6c\"\u003e\u003ccode\u003ef3d3eea\u003c/code\u003e\u003c/a\u003e test(*): replace deprecated 'toMatchTypeOf' with 'toExtend' (\u003ca href=\"https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/10413\"\u003e#10413\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/3d6e001baeeef4e7c524f39cc009544aa05c2b08\"\u003e\u003ccode\u003e3d6e001\u003c/code\u003e\u003c/a\u003e test(react-query/useSuspenseQueries): replace 'async/await sleep' with 'sleep...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TanStack/query/commit/7d7a21c49c1c0d12e12a7da7ab00fa65df05650b\"\u003e\u003ccode\u003e7d7a21c\u003c/code\u003e\u003c/a\u003e test(react-query): replace 'async/await sleep' with 'sleep().then()' in test ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/TanStack/query/commits/@tanstack/react-query@5.97.0/packages/react-query\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `better-auth` from 1.6.0 to 1.6.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/better-auth/better-auth/releases\"\u003ebetter-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003eInstall: \u003ccode\u003enpm i better-auth@latest\u003c/code\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eCore\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eendpoint instrumentation to always use route template (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e) by \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erestore getSession accessibility in generic Auth\u003c!-- raw HTML omitted --\u003e context (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9017\"\u003e#9017\u003c/a\u003e) by \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate endpoint instrumentation to always use endpoint routes\u003c/li\u003e\n\u003cli\u003euse \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e) by \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/better-auth/better-auth/compare/v1.6.0...v1.6.1\"\u003e\u003ccode\u003ev1.6.0...v1.6.1\u003c/code\u003e\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/better-auth/better-auth/blob/main/packages/better-auth/CHANGELOG.md\"\u003ebetter-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.6.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9023\"\u003e#9023\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/jonathansamines\"\u003e\u003ccode\u003e@​jonathansamines\u003c/code\u003e\u003c/a\u003e! - Update endpoint instrumentation to always use endpoint routes\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/8902\"\u003e#8902\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/ping-maxwell\"\u003e\u003ccode\u003e@​ping-maxwell\u003c/code\u003e\u003c/a\u003e! - use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/better-auth/better-auth/pull/9017\"\u003e#9017\u003c/a\u003e \u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/bytaesu\"\u003e\u003ccode\u003e@​bytaesu\u003c/code\u003e\u003c/a\u003e! - restore getSession accessibility in generic Auth\u003c!-- raw HTML omitted --\u003e context\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated dependencies []:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/core\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/drizzle-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/kysely-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/memory-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/mongo-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/prisma-adapter\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e@​better-auth/telemetry\u003c/code\u003e\u003ca href=\"https://github.com/1\"\u003e\u003ccode\u003e@​1\u003c/code\u003e\u003c/a\u003e.6.1\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/better-auth/better-auth/commit/85bb710edcd3102d7165d0ca592aa2fcc40a84be\"\u003e\u003ccode\u003e85bb710\u003c/code\u003e\u003c/a\u003e chore: version packages (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9018\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/749583065958e8a310badaa5ea3acc8382dc0ca2\"\u003e\u003ccode\u003e7495830\u003c/code\u003e\u003c/a\u003e fix(api): restore getSession accessibility in generic Auth\u0026lt;O\u0026gt; context (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9017\"\u003e#9017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/2e537df5f7f2a4263f52cce74d7a64a0a947792b\"\u003e\u003ccode\u003e2e537df\u003c/code\u003e\u003c/a\u003e fix: endpoint instrumentation to always use route template (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/9023\"\u003e#9023\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/better-auth/better-auth/commit/f61ad1cab7360e4460e6450904e97498298a79d5\"\u003e\u003ccode\u003ef61ad1c\u003c/code\u003e\u003c/a\u003e fix: use \u003ccode\u003eINVALID_PASSWORD\u003c/code\u003e for all \u003ccode\u003echeckPassword\u003c/code\u003e failures (\u003ca href=\"https://github.com/better-auth/better-auth/tree/HEAD/packages/better-auth/issues/8902\"\u003e#8902\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/better-auth/better-auth/commits/better-auth@1.6.1/packages/better-auth\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lucide-react` from 1.7.0 to 1.8.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\"\u003elucide-react's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.8.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs(packages/angular): add packageDirname for \u003ccode\u003e@​lucide/angular\u003c/code\u003e by \u003ca href=\"https://github.com/rhutchison\"\u003e\u003ccode\u003e@​rhutchison\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4211\"\u003elucide-icons/lucide#4211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(icons): Username change knarlix to RajnishKMehta by \u003ca href=\"https://github.com/RajnishKMehta\"\u003e\u003ccode\u003e@​RajnishKMehta\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4208\"\u003elucide-icons/lucide#4208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(\u003ccode\u003e@​lucide/angular\u003c/code\u003e): Fix publishing problem 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/4213\"\u003elucide-icons/lucide#4213\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: fix broken links in pull_request_template.md (got 404 page) by \u003ca href=\"https://github.com/whoisBugsbunny\"\u003e\u003ccode\u003e@​whoisBugsbunny\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4224\"\u003elucide-icons/lucide#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(lucide-static): add viewBox to sprite symbol elements by \u003ca href=\"https://github.com/TomaTV\"\u003e\u003ccode\u003e@​TomaTV\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4223\"\u003elucide-icons/lucide#4223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Fix link to icon design principles in statement by \u003ca href=\"https://github.com/whoisBugsbunny\"\u003e\u003ccode\u003e@​whoisBugsbunny\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4225\"\u003elucide-icons/lucide#4225\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): add Zephyr Cloud to Hero Backers tier 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/4226\"\u003elucide-icons/lucide#4226\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): fixes gap issues in radio-off.svg 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/4227\"\u003elucide-icons/lucide#4227\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): renamed \u003ccode\u003etext-select\u003c/code\u003e to \u003ccode\u003esquare-dashed-text\u003c/code\u003e by \u003ca href=\"https://github.com/jguddas\"\u003e\u003ccode\u003e@​jguddas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/3943\"\u003elucide-icons/lucide#3943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(docs): improve mobile layout of v1 banner 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/4254\"\u003elucide-icons/lucide#4254\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(\u003ccode\u003e@​lucide/svelte\u003c/code\u003e): aria-hidden=\u0026quot;true\u0026quot; was never set by \u003ca href=\"https://github.com/blt-r\"\u003e\u003ccode\u003e@​blt-r\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4234\"\u003elucide-icons/lucide#4234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(icons): remove ui/ux tag from heart-minus, add delete instead 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/4266\"\u003elucide-icons/lucide#4266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps-dev): bump vite from 7.3.1 to 7.3.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/lucide-icons/lucide/pull/4276\"\u003elucide-icons/lucide#4276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump lodash-es from 4.17.23 to 4.18.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/4251\"\u003elucide-icons/lucide#4251\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(deps): bump vite from 5.4.21 to 6.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4286\"\u003elucide-icons/lucide#4286\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(docs): use \u003ccode\u003einitOnMounted: true\u003c/code\u003e for \u003ccode\u003euseSessionStorage\u003c/code\u003e in \u003ccode\u003eCarbonAdOverlay\u003c/code\u003e 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/4275\"\u003elucide-icons/lucide#4275\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat(icons): added \u003ccode\u003ebookmark-off\u003c/code\u003e icon by \u003ca href=\"https://github.com/ZeenatLawal\"\u003e\u003ccode\u003e@​ZeenatLawal\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4283\"\u003elucide-icons/lucide#4283\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/rhutchison\"\u003e\u003ccode\u003e@​rhutchison\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4211\"\u003elucide-icons/lucide#4211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/whoisBugsbunny\"\u003e\u003ccode\u003e@​whoisBugsbunny\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4224\"\u003elucide-icons/lucide#4224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TomaTV\"\u003e\u003ccode\u003e@​TomaTV\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4223\"\u003elucide-icons/lucide#4223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/blt-r\"\u003e\u003ccode\u003e@​blt-r\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4234\"\u003elucide-icons/lucide#4234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ZeenatLawal\"\u003e\u003ccode\u003e@​ZeenatLawal\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/lucide-icons/lucide/pull/4283\"\u003elucide-icons/lucide#4283\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.7.0...1.8.0\"\u003ehttps://github.com/lucide-icons/lucide/compare/1.7.0...1.8.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/lucide-icons/lucide/commit/7623e23f787fe78e5075a613fd22da2cecbb9b1b\"\u003e\u003ccode\u003e7623e23\u003c/code\u003e\u003c/a\u003e feat(docs): add Zephyr Cloud to Hero Backers tier \u0026amp; rework updateSponsors scr...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/lucide-icons/lucide/commits/1.8.0/packages/lucide-react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react` from 19.2.4 to 19.2.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/facebook/react/releases\"\u003ereact's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e19.2.5 (April 8th, 2026)\u003c/h2\u003e\n\u003ch2\u003eReact Server Components\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd more cycle protections (\u003ca href=\"https://redirect.github.com/facebook/react/pull/36236\"\u003e#36236\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e\u003ccode\u003e@​eps1lon\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\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/facebook/react/commit/23f4f9f30da9e9af2108c18bb197bae75ab584ea\"\u003e\u003ccode\u003e23f4f9f\u003c/code\u003e\u003c/a\u003e 19.2.5\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/facebook/react/commits/v19.2.5/packages/react\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `oxfmt` from 0.42.0 to 0.44.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md\"\u003eoxfmt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[0.44.0] - 2026-04-06\u003c/h2\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edd2df87 npm: Export package.json for oxlint and oxfmt (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20784\"\u003e#20784\u003c/a\u003e) (kazuya kawaguchi)\u003c/li\u003e\n\u003cli\u003e4216380 oxfmt: Support \u003ccode\u003e.editorconfig\u003c/code\u003e \u003ccode\u003etab_width\u003c/code\u003e fallback (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20988\"\u003e#20988\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[0.43.0] - 2026-03-30\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e6ef440a oxfmt: Support bool for object style options (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20853\"\u003e#20853\u003c/a\u003e) (leaysgur)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/oxc/commit/a69e7073443ebd23fa5b2bcc76f37d586bd140a2\"\u003e\u003ccode\u003ea69e707\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.59.0 \u0026amp;\u0026amp; oxfmt v0.44.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/21085\"\u003e#21085\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/dd2df87d9e5565b44a9335a2e6fa5e727175756b\"\u003e\u003ccode\u003edd2df87\u003c/code\u003e\u003c/a\u003e fix(npm): export package.json for oxlint and oxfmt (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20784\"\u003e#20784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/4216380bc0f0701f69209b3c47271b0a7770145e\"\u003e\u003ccode\u003e4216380\u003c/code\u003e\u003c/a\u003e fix(oxfmt): Support \u003ccode\u003e.editorconfig\u003c/code\u003e \u003ccode\u003etab_width\u003c/code\u003e fallback (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20988\"\u003e#20988\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/0384f4b22531a386ed5d080eeac634bc99b6f57b\"\u003e\u003ccode\u003e0384f4b\u003c/code\u003e\u003c/a\u003e release(apps): oxlint v1.58.0 \u0026amp;\u0026amp; oxfmt v0.43.0 (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20867\"\u003e#20867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oxc-project/oxc/commit/6ef440af18726035a266fe595857c7a6fc6a7319\"\u003e\u003ccode\u003e6ef440a\u003c/code\u003e\u003c/a\u003e feat(oxfmt): Support bool for object style options (\u003ca href=\"https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt/issues/20853\"\u003e#20853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oxc-project/oxc/commits/oxfmt_v0.44.0/npm/oxfmt\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.30 to 0.0.31\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.31\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `vite` from 8.0.7 to 8.0.8\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.0.8\u003c/h2\u003e\n\u003cp\u003ePlease refer to \u003ca href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\"\u003eCHANGELOG.md\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/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.0.7...v8.0.8\"\u003e8.0.8\u003c/a\u003e (2026-04-09)\u003c!-- raw HTML omitted --\u003e\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rolldown to 1.0.0-rc.15 (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22201\"\u003e#22201\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"\u003e6baf587\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eavoid \u003ccode\u003edns.getDefaultResultOrder\u003c/code\u003e temporary (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22202\"\u003e#22202\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"\u003e15f1c15\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003essr:\u003c/strong\u003e class property keys hoisting matching imports (\u003ca href=\"https://redirect.github.com/vitejs/vite/issues/22199\"\u003e#22199\u003c/a\u003e) (\u003ca href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"\u003ee137601\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/6e585dcb05a3b159fba7ae57f7faf0b1eca7a390\"\u003e\u003ccode\u003e6e585dc\u003c/code\u003e\u003c/a\u003e release: v8.0.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"\u003e\u003ccode\u003ee137601\u003c/code\u003e\u003c/a\u003e fix(ssr): class property keys hoisting matching imports (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22199\"\u003e#22199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"\u003e\u003ccode\u003e15f1c15\u003c/code\u003e\u003c/a\u003e fix: avoid \u003ccode\u003edns.getDefaultResultOrder\u003c/code\u003e temporary (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22202\"\u003e#22202\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"\u003e\u003ccode\u003e6baf587\u003c/code\u003e\u003c/a\u003e feat: update rolldown to 1.0.0-rc.15 (\u003ca href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22201\"\u003e#22201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/vitejs/vite/commits/v8.0.8/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/rjoydip/tss-elysia/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjoydip%2Ftss-elysia/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"0.0.28","new_version":"0.0.31","update_type":"patch","path":null,"pr_created_at":"2026-04-07T21:39:53.000Z","version_change":"0.0.28 → 0.0.31","issue":{"uuid":"4220727698","node_id":"PR_kwDOJtNIAM7QoN-k","number":23,"state":"closed","title":"chore(deps-dev): bump the development-dependencies group with 19 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-14T21:38:05.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-07T21:39:53.000Z","updated_at":"2026-04-14T21:38:06.000Z","time_to_close":604692,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":19,"packages":[{"name":"@happy-dom/global-registrator","old_version":"20.7.0","new_version":"20.8.9","repository_url":"https://github.com/capricorn86/happy-dom"},{"name":"@ianvs/prettier-plugin-sort-imports","old_version":"4.7.0","new_version":"4.7.1","repository_url":"https://github.com/ianvs/prettier-plugin-sort-imports"},{"name":"@playwright/test","old_version":"1.58.1","new_version":"1.59.1","repository_url":"https://github.com/microsoft/playwright"},{"name":"@prisma/client","old_version":"7.3.0","new_version":"7.7.0","repository_url":"https://github.com/prisma/prisma"},{"name":"@types/node","old_version":"25.2.0","new_version":"25.5.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@types/react","old_version":"19.2.10","new_version":"19.2.14","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"eslint","old_version":"9.39.2","new_version":"10.2.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-config-next","old_version":"16.1.6","new_version":"16.2.2","repository_url":"https://github.com/vercel/next.js"},{"name":"jest","old_version":"30.2.0","new_version":"30.3.0","repository_url":"https://github.com/jestjs/jest"},{"name":"jest-environment-jsdom","old_version":"30.2.0","new_version":"30.3.0","repository_url":"https://github.com/jestjs/jest"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.4.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"prisma","old_version":"7.3.0","new_version":"7.7.0","repository_url":"https://github.com/prisma/prisma"},{"name":"react-doctor","old_version":"0.0.28","new_version":"0.0.31","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"typescript","old_version":"5.9.3","new_version":"6.0.2","repository_url":"https://github.com/microsoft/TypeScript"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 19 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@happy-dom/global-registrator](https://github.com/capricorn86/happy-dom) | `20.7.0` | `20.8.9` |\n| [@ianvs/prettier-plugin-sort-imports](https://github.com/ianvs/prettier-plugin-sort-imports) | `4.7.0` | `4.7.1` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.1` | `1.59.1` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `7.3.0` | `7.7.0` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.2.0` | `25.5.2` |\n| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `19.2.10` | `19.2.14` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.58.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.58.0` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [eslint](https://github.com/eslint/eslint) | `9.39.2` | `10.2.0` |\n| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next) | `16.1.6` | `16.2.2` |\n| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.3.0` |\n| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.3.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.4.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `7.3.0` | `7.7.0` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.28` | `0.0.31` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.19` | `4.2.2` |\n| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `6.0.2` |\n\nUpdates `@happy-dom/global-registrator` from 20.7.0 to 20.8.9\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/capricorn86/happy-dom/releases\"\u003e\u003ccode\u003e@​happy-dom/global-registrator\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.8.9\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issue where cookies from the current origin was being forwarded to the target origin in fetch requests - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2117\"\u003e#2117\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eA security advisory (\u003ca href=\"https://github.com/capricorn86/happy-dom/security/advisories/GHSA-w4gp-fjgq-3q4g\"\u003eGHSA-w4gp-fjgq-3q4g\u003c/a\u003e) was reported for this security vulnerability. Big thanks to \u003ca href=\"https://github.com/r74tech\"\u003e\u003ccode\u003e@​r74tech\u003c/code\u003e\u003c/a\u003e for reporting this!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.8\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issue where export names can be interpolated as executable code in ESM - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2113\"\u003e#2113\u003c/a\u003e\n\u003cul\u003e\n\u003cli\u003eA security advisory (\u003ca href=\"https://github.com/capricorn86/happy-dom/security/advisories/GHSA-6q6h-j7hj-3r64\"\u003eGHSA-6q6h-j7hj-3r64\u003c/a\u003e) has been reported that shows a security vulnerability where it may be possible to escape the VM context and get access to process level functionality in unsafe environments using CommonJS. Big thanks to \u003ca href=\"https://github.com/tndud042713\"\u003e\u003ccode\u003e@​tndud042713\u003c/code\u003e\u003c/a\u003e for reporting this!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.7\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace implementing Node.js \u003ccode\u003eConsole\u003c/code\u003e with common \u003ccode\u003eIConsole\u003c/code\u003e interface to support latest version of Bun - By \u003cstrong\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.6\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eRequest.formData()\u003c/code\u003e should honor \u0026quot;Content-Type\u0026quot; header - By \u003cstrong\u003e\u003ca href=\"https://github.com/brianhelba\"\u003e\u003ccode\u003e@​brianhelba\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2106\"\u003e#2106\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.5\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes error thrown when modifying DOM structure in \u003ccode\u003econnectedCallback()\u003c/code\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2110\"\u003e#2110\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.4\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReplace ConsoleConstructor import with indexed access type - By \u003cstrong\u003e\u003ca href=\"https://github.com/YevheniiKotyrlo\"\u003e\u003ccode\u003e@​YevheniiKotyrlo\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.3\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThrow error if event is not of type \u003ccode\u003eEvent\u003c/code\u003e in \u003ccode\u003eEventTarget.dispatchEvent()\u003c/code\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2054\"\u003e#2054\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.2\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResets \u003ccode\u003eEvent.cancelBubble\u003c/code\u003e and \u003ccode\u003eEvent.defaultPrevented\u003c/code\u003e when calling \u003ccode\u003eEvent.initEvent()\u003c/code\u003e - By \u003cstrong\u003e\u003ca href=\"https://github.com/capricorn86\"\u003e\u003ccode\u003e@​capricorn86\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2090\"\u003e#2090\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.1\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u0026quot;inert\u0026quot; attribute block focus interactions - By \u003cstrong\u003e\u003ca href=\"https://github.com/coffeeandwork\"\u003e\u003ccode\u003e@​coffeeandwork\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1422\"\u003e#1422\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.8.0\u003c/h2\u003e\n\u003ch3\u003e:art: Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds support for setPointerCapture, hasPointerCapture, and releasePointerCapture to Element - By \u003cstrong\u003e\u003ca href=\"https://github.com/coffeeandwork\"\u003e\u003ccode\u003e@​coffeeandwork\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1733\"\u003e#1733\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.7.2\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eProperly decode CSS escape sequences in attribute selector values - By \u003cstrong\u003e\u003ca href=\"https://github.com/silverwind\"\u003e\u003ccode\u003e@​silverwind\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev20.7.1\u003c/h2\u003e\n\u003ch3\u003e:construction_worker_man: Patch fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixes issue related to parsing direct descendants (\u003ccode\u003e\u0026gt;\u003c/code\u003e) and universal (\u003ccode\u003e*\u003c/code\u003e) query selectors - By \u003cstrong\u003e\u003ca href=\"https://github.com/Cherry\"\u003e\u003ccode\u003e@​Cherry\u003c/code\u003e\u003c/a\u003e\u003c/strong\u003e in task \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2078\"\u003e#2078\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/capricorn86/happy-dom/commit/68324c21d7b98f53f7bb5a7b3e185bda7106e751\"\u003e\u003ccode\u003e68324c2\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2117\"\u003e#2117\u003c/a\u003e Fixes issue related to cookies from the current origin being for...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/5437fdf8f13adb9590f9f52616d9f69c3ee8db3c\"\u003e\u003ccode\u003e5437fdf\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2113\"\u003e#2113\u003c/a\u003e Fixes issue where export names can be interpolated as executable...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/7e97acbc0de9e9e8515b828bb1bb60f6c65eae44\"\u003e\u003ccode\u003e7e97acb\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e Replace implementing Node js Console with common IConsole interf...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/3373929819a55988218a32c06816c5754828f59d\"\u003e\u003ccode\u003e3373929\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2106\"\u003e#2106\u003c/a\u003e \u003ccode\u003eRequest.formData()\u003c/code\u003e should honor \u003ccode\u003eContent-Type\u003c/code\u003e header (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/55c17ba6d2883ce54010b041be165db8f6c5c974\"\u003e\u003ccode\u003e55c17ba\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2110\"\u003e#2110\u003c/a\u003e Fixes error thrown when modifying DOM structure in connectedCall...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/82a0888cb2c87a6123e05424b528f8e8c9b3e426\"\u003e\u003ccode\u003e82a0888\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1845\"\u003e#1845\u003c/a\u003e Replace ConsoleConstructor import with indexed access type (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2095\"\u003e#2095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/5998eeaea5455cda9556675c6b92bea7ec85642b\"\u003e\u003ccode\u003e5998eea\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2054\"\u003e#2054\u003c/a\u003e Throw error if event is not of type Event in dispatchEvent (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2092\"\u003e#2092\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/7a11238eace2fab69eb6bff13c2eeb0b7f7caa40\"\u003e\u003ccode\u003e7a11238\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2090\"\u003e#2090\u003c/a\u003e Resets cancelBubble and defaultPrevented when calling initEvent ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/7d27984affe0dcfc2827d1568fa6b950905a8482\"\u003e\u003ccode\u003e7d27984\u003c/code\u003e\u003c/a\u003e fix: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1422\"\u003e#1422\u003c/a\u003e Make inert attribute block focus interactions (\u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/2083\"\u003e#2083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/capricorn86/happy-dom/commit/53e4ec974a8c8f66db7cd55c9553e7e8281185bf\"\u003e\u003ccode\u003e53e4ec9\u003c/code\u003e\u003c/a\u003e feat: \u003ca href=\"https://redirect.github.com/capricorn86/happy-dom/issues/1733\"\u003e#1733\u003c/a\u003e Adds support for setPointerCapture, hasPointerCapture, and rele...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/capricorn86/happy-dom/compare/v20.7.0...v20.8.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@ianvs/prettier-plugin-sort-imports` from 4.7.0 to 4.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ianvs/prettier-plugin-sort-imports/releases\"\u003e\u003ccode\u003e@​ianvs/prettier-plugin-sort-imports\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.7.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix: Vue preprocessor: Support variations in block syntax by \u003ca href=\"https://github.com/ccondrup\"\u003e\u003ccode\u003e@​ccondrup\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/247\"\u003eIanVS/prettier-plugin-sort-imports#247\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(plugin-oxc): support v0.1.x by \u003ca href=\"https://github.com/CHC383\"\u003e\u003ccode\u003e@​CHC383\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/249\"\u003eIanVS/prettier-plugin-sort-imports#249\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDocs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd note for how to specify subpath import regex to README by \u003ca href=\"https://github.com/jasikpark\"\u003e\u003ccode\u003e@​jasikpark\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/243\"\u003eIanVS/prettier-plugin-sort-imports#243\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/jasikpark\"\u003e\u003ccode\u003e@​jasikpark\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/243\"\u003eIanVS/prettier-plugin-sort-imports#243\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ccondrup\"\u003e\u003ccode\u003e@​ccondrup\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/247\"\u003eIanVS/prettier-plugin-sort-imports#247\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/CHC383\"\u003e\u003ccode\u003e@​CHC383\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/IanVS/prettier-plugin-sort-imports/pull/249\"\u003eIanVS/prettier-plugin-sort-imports#249\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.7.0...v4.7.1\"\u003ehttps://github.com/IanVS/prettier-plugin-sort-imports/compare/v4.7.0...v4.7.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/IanVS/prettier-plugin-sort-imports/commit/26bc50bd2f9846898fa3f8f4bac82cc1f55d7480\"\u003e\u003ccode\u003e26bc50b\u003c/code\u003e\u003c/a\u003e 4.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/commit/55a8ac2d1eb71fee70478971ada525d21225253f\"\u003e\u003ccode\u003e55a8ac2\u003c/code\u003e\u003c/a\u003e feat(plugin-oxc): support v0.1.x (\u003ca href=\"https://redirect.github.com/ianvs/prettier-plugin-sort-imports/issues/249\"\u003e#249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/commit/0f3a062393e54b0e5db27e9b589cc46f991bd467\"\u003e\u003ccode\u003e0f3a062\u003c/code\u003e\u003c/a\u003e Fix: Vue preprocessor: Support variations in block syntax (\u003ca href=\"https://redirect.github.com/ianvs/prettier-plugin-sort-imports/issues/247\"\u003e#247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/IanVS/prettier-plugin-sort-imports/commit/89894c12f0a5645ee03799faac1a5776c89846df\"\u003e\u003ccode\u003e89894c1\u003c/code\u003e\u003c/a\u003e Add note for how to specify subpath import regex to README (\u003ca href=\"https://redirect.github.com/ianvs/prettier-plugin-sort-imports/issues/243\"\u003e#243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ianvs/prettier-plugin-sort-imports/compare/v4.7.0...v4.7.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.1 to 1.59.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e\u003ccode\u003e@​playwright/test\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.59.1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Windows]\u003c/strong\u003e Reverted hiding console window when spawning browser processes, which caused regressions including broken \u003ccode\u003ecodegen\u003c/code\u003e, \u003ccode\u003e--ui\u003c/code\u003e and \u003ccode\u003eshow\u003c/code\u003e commands (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39990\"\u003e#39990\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.59.0\u003c/h2\u003e\n\u003ch2\u003e🎬 Screencast\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-page#page-screencast\"\u003epage.screencast\u003c/a\u003e API provides a unified interface for capturing page content with:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eScreencast recordings\u003c/li\u003e\n\u003cli\u003eAction annotations\u003c/li\u003e\n\u003cli\u003eVisual overlays\u003c/li\u003e\n\u003cli\u003eReal-time frame capture\u003c/li\u003e\n\u003cli\u003eAgentic video receipts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eScreencast recording\u003c/strong\u003e — record video with precise start/stop control, as an alternative to the \u003ca href=\"https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video\"\u003e\u003ccode\u003erecordVideo\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.start({ path: 'video.webm' });\r\n// ... perform actions ...\r\nawait page.screencast.stop();\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAction annotations\u003c/strong\u003e — enable built-in visual annotations that highlight interacted elements and display action titles during recording:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.showActions({ position: 'top-right' });\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-screencast#screencast-show-actions\"\u003escreencast.showActions()\u003c/a\u003e accepts \u003ccode\u003eposition\u003c/code\u003e (\u003ccode\u003e'top-left'\u003c/code\u003e, \u003ccode\u003e'top'\u003c/code\u003e, \u003ccode\u003e'top-right'\u003c/code\u003e, \u003ccode\u003e'bottom-left'\u003c/code\u003e, \u003ccode\u003e'bottom'\u003c/code\u003e, \u003ccode\u003e'bottom-right'\u003c/code\u003e), \u003ccode\u003eduration\u003c/code\u003e (ms per annotation), and \u003ccode\u003efontSize\u003c/code\u003e (px). Returns a disposable to stop showing actions.\u003c/p\u003e\n\u003cp\u003eAction annotations can also be enabled in test fixtures via the \u003ccode\u003evideo\u003c/code\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// playwright.config.ts\r\nexport default defineConfig({\r\n  use: {\r\n    video: {\r\n      mode: 'on',\r\n      show: {\r\n        actions: { position: 'top-left' },\r\n        test: { position: 'top-right' },\r\n      },\r\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/microsoft/playwright/commit/d466ac5358cae058cdc75d2ae3ab3ad220042730\"\u003e\u003ccode\u003ed466ac5\u003c/code\u003e\u003c/a\u003e chore: mark v1.59.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40005\"\u003e#40005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/530e7e5f0021730948605a5788790d353d9cf444\"\u003e\u003ccode\u003e530e7e5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/4004\"\u003e#4004\u003c/a\u003e): fix(cli): kill-all should kill dashboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9aa216c8d7f866e8a8fa94ca55d86e81a8f4decb\"\u003e\u003ccode\u003e9aa216c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39994\"\u003e#39994\u003c/a\u003e): Revert \u0026quot;fix(windows): hide console window when spawning ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/01b2b1533e0bfa1c582117e3ec109fcb57657747\"\u003e\u003ccode\u003e01b2b15\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39980\"\u003e#39980\u003c/a\u003e): chore: more release notes fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/a5cb6c9a2f52078de075413beb812e3180d195ba\"\u003e\u003ccode\u003ea5cb6c9\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39972\"\u003e#39972\u003c/a\u003e): chore: expose browser.bind and browser.unbind APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/99a17b58541798b03257c57a9e5589db2394f89e\"\u003e\u003ccode\u003e99a17b5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39975\"\u003e#39975\u003c/a\u003e): chore: support opening .trace files via .link indirection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/43607c3b71d89445a6473708429eeecd6f571d6e\"\u003e\u003ccode\u003e43607c3\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39974\"\u003e#39974\u003c/a\u003e): chore(webkit): update Safari user-agent version to 26.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/62cabe19eb07e329086e5cb20441737cf51367d0\"\u003e\u003ccode\u003e62cabe1\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39969\"\u003e#39969\u003c/a\u003e): chore(npm): include all *.md from lib (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39970\"\u003e#39970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/0c65a759af337ba5143ebbe34afe4141482ce2d4\"\u003e\u003ccode\u003e0c65a75\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39968\"\u003e#39968\u003c/a\u003e): chore: screencast.showActions api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f04155b09034c21719162146d6016de9933a2dbe\"\u003e\u003ccode\u003ef04155b\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39958\"\u003e#39958\u003c/a\u003e): chore: release notes for langs v1.59\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.1...v1.59.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 7.3.0 to 7.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e\u003ccode\u003e@​prisma/client\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.7.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.7.0\u003c/code\u003e stable release 🎉\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e🌟 Star this repo for notifications about new releases, bug fixes \u0026amp; features — or \u003ca href=\"https://pris.ly/x\"\u003efollow us on X\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003ch1\u003eHighlights\u003c/h1\u003e\n\u003ch2\u003eORM\u003c/h2\u003e\n\u003ch3\u003e\u003ccode\u003eprisma bootstrap\u003c/code\u003e command\u003c/h3\u003e\n\u003cp\u003eA new \u003ccode\u003eprisma bootstrap\u003c/code\u003e command (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29374\"\u003e#29374\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29424\"\u003e#29424\u003c/a\u003e) sequences the full \u003ca href=\"https://prisma.io/postgres\"\u003ePrisma Postgres\u003c/a\u003e setup into a single interactive flow. It detects the current project state and runs only the steps that are needed:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eInit or scaffold\u003c/strong\u003e — In an empty directory, offers a choice of 10 starter templates (Next.js, Express, Hono, Fastify, Nuxt, SvelteKit, Remix, React Router 7, Astro, NestJS) from \u003ca href=\"https://github.com/prisma/prisma-examples\"\u003eprisma-examples\u003c/a\u003e. In an existing project without a schema, runs \u003ccode\u003eprisma init\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLink\u003c/strong\u003e — Authenticates via the browser and connects to a Prisma Postgres database. Skips if already linked.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eInstall dependencies\u003c/strong\u003e — Detects the package manager and offers to install missing \u003ccode\u003e@prisma/client\u003c/code\u003e, \u003ccode\u003eprisma\u003c/code\u003e, and \u003ccode\u003edotenv\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eMigrate\u003c/strong\u003e — Runs \u003ccode\u003eprisma migrate dev\u003c/code\u003e if the schema contains models.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGenerate\u003c/strong\u003e — Runs \u003ccode\u003eprisma generate\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSeed\u003c/strong\u003e — Runs \u003ccode\u003eprisma db seed\u003c/code\u003e if a seed script is configured.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eEach side-effecting step prompts for confirmation. Re-running the command skips already-completed steps.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eBasic usage\u003c/strong\u003e\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest bootstrap\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eWith a starter template\u003c/strong\u003e\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest bootstrap --template nextjs\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eNon-interactive (CI)\u003c/strong\u003e\u003c/p\u003e\n\u003cpre lang=\"terminal\"\u003e\u003ccode\u003enpx prisma@latest bootstrap --api-key \u0026quot;$PRISMA_API_KEY\u0026quot; --database \u0026quot;db_abc123\u0026quot;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003eOpen roles at Prisma\u003c/h2\u003e\n\u003cp\u003eInterested in joining Prisma? We're growing and have several exciting opportunities across the company for developers who are passionate about building with Prisma. Explore our open positions on our \u003ca href=\"https://www.prisma.io/careers#current\"\u003eCareers page\u003c/a\u003e and find the role that's right for you.\u003c/p\u003e\n\u003ch2\u003eEnterprise support\u003c/h2\u003e\n\u003cp\u003eThousands of teams use Prisma and many of them already tap into our Enterprise \u0026amp; Agency Support Program for hands-on help with everything from schema integrations and performance tuning to security and compliance.\u003c/p\u003e\n\u003cp\u003eWith this program you also get priority issue triage and bug fixes, expert scalability advice, and custom training so that your Prisma-powered apps stay rock-solid at any scale. Learn more or join: \u003ca href=\"https://prisma.io/enterprise\"\u003ehttps://prisma.io/enterprise\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/6a3c3ccf9cc2db7f27bbbf6df9f050fc112dc66e\"\u003e\u003ccode\u003e6a3c3cc\u003c/code\u003e\u003c/a\u003e chore: extract parameterization to client-engine-runtime (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29422\"\u003e#29422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/5b420f897bf7f98b1b826f55ebae334114d70eb7\"\u003e\u003ccode\u003e5b420f8\u003c/code\u003e\u003c/a\u003e fix(client): prevent caching of createMany queries to avoid cache bloat and p...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/30f0af635578207b29d8409d7d0cbcdcea264a07\"\u003e\u003ccode\u003e30f0af6\u003c/code\u003e\u003c/a\u003e feat: dmmf streaming with an E2E test (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29377\"\u003e#29377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/14c3c2eb02173048d5ac3a908598a8d7f2244598\"\u003e\u003ccode\u003e14c3c2e\u003c/code\u003e\u003c/a\u003e fix: pin E2E typescript to prevent 6 upgrade (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29383\"\u003e#29383\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/ecae3b65bbed748445c6230de583c51bb921e7df\"\u003e\u003ccode\u003eecae3b6\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.6.0-1.75cbdc1eb7150937890ad5465d861175c66247...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/309b4bccd632d8b40246eab131f3ada578fb4c23\"\u003e\u003ccode\u003e309b4bc\u003c/code\u003e\u003c/a\u003e refactor: extract 'prisma-client-js' into PRISMA_CLIENT_JS_PROVIDER constant ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/ccce14832f60ec24727a76dce25d661b46e94454\"\u003e\u003ccode\u003eccce148\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.5.0-15.280c870be64f457428992c43c1f6d557fab6e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/de1c376e2746019b1cff3c58ac168142fe9d1569\"\u003e\u003ccode\u003ede1c376\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.5.0-14.d684c195f0a8bfb0ba8ca628416376df0625b...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/ea93809a44f89847699a3f72d7b289339f7a0bdc\"\u003e\u003ccode\u003eea93809\u003c/code\u003e\u003c/a\u003e fix: fix DATE cursor comparison (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29327\"\u003e#29327\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/f8e742a8de6878a206d8493b61d911dac97e11df\"\u003e\u003ccode\u003ef8e742a\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.5.0-13.0f1690a1b5dcd01b5341a4f411f07767f1f76...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prisma/prisma/commits/7.7.0/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.2.0 to 25.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/react` from 19.2.10 to 19.2.14\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 `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.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.57.1 (2026-03-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/typescript-eslint/typescript-eslint/commit/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5a9bd366139c8e306dd78ae906d4389972de42b6\"\u003e\u003ccode\u003e5a9bd36\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-regexp-exec] avoid fixing unknown RegExp flags (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/edb90ebf7c75a71065bed719f3e72d18b830c6a0\"\u003e\u003ccode\u003eedb90eb\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-extraneous-class] handle index signatures (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1bf86c9f5c799916d12079c037c79e10b29cdc9c\"\u003e\u003ccode\u003e1bf86c9\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e9cc25a794dbf82a241807f394489a2aad39ffae\"\u003e\u003ccode\u003ee9cc25a\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): fix typo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12155\"\u003e#12155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f68c8e4baca096281b458ccb6ff16ca6c5a1d199\"\u003e\u003ccode\u003ef68c8e4\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-readonly-parameter-types] preserve type alias inf...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/73acd2e6833c4757d2743a8dbb979154d31a1e98\"\u003e\u003ccode\u003e73acd2e\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] skip reporting false posi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/3d21482030e4fd220f466cea7036e07695277364\"\u003e\u003ccode\u003e3d21482\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unsafe-return] false positive on unwrapping generic (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.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.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.1 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.0 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/c7c38aa252d7bf6708a225aebedc57686ac33dcd\"\u003e\u003ccode\u003ec7c38aa\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8\"\u003e\u003ccode\u003ea09921e\u003c/code\u003e\u003c/a\u003e chore: update vitest to 4.x (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071\"\u003e#12071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autoprefixer` from 10.4.24 to 10.4.27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/releases\"\u003eautoprefixer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md\"\u003eautoprefixer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/360f2d9ecbad3315fbabc61fb2131ac939fee211\"\u003e\u003ccode\u003e360f2d9\u003c/code\u003e\u003c/a\u003e Release 10.4.27 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ab5260c30de086760abf7f666bb52f9267ff387e\"\u003e\u003ccode\u003eab5260c\u003c/code\u003e\u003c/a\u003e Update clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/09e9dd12c023a02a90d05db46c3c75166525674c\"\u003e\u003ccode\u003e09e9dd1\u003c/code\u003e\u003c/a\u003e Release 10.4.26 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ec7554060076640e1261e16d3af8f81c3a2b17cf\"\u003e\u003ccode\u003eec75540\u003c/code\u003e\u003c/a\u003e Ignore local patches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/59601b89582c2ca286a5e2a545ba98fb0004a5aa\"\u003e\u003ccode\u003e59601b8\u003c/code\u003e\u003c/a\u003e Update c8 and clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/06ea9886faa25c3272e2d86b945852e61a6997f7\"\u003e\u003ccode\u003e06ea988\u003c/code\u003e\u003c/a\u003e Release 10.4.25 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/47d8a5bde458ba19e25df455fcda8fcf31b97135\"\u003e\u003ccode\u003e47d8a5b\u003c/code\u003e\u003c/a\u003e Update dependencies and fix Node.js 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/51c596e429567c3a4c8e95123825b5ddd1d4a8b7\"\u003e\u003ccode\u003e51c596e\u003c/code\u003e\u003c/a\u003e Add Node.js 25 and 24 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/523982391ff26ea30f7c76a601ca3b655e1da543\"\u003e\u003ccode\u003e5239823\u003c/code\u003e\u003c/a\u003e Fix CSS variables in gradients (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1515\"\u003e#1515\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/postcss/autoprefixer/compare/10.4.24...10.4.27\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.2 to 10.2.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.2.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/586ec2f43092779acc957866db4abe999112d1e1\"\u003e\u003ccode\u003e586ec2f\u003c/code\u003e\u003c/a\u003e feat: Add \u003ccode\u003emeta.languages\u003c/code\u003e support to rules (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20571\"\u003e#20571\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/14207dee3939dc87cfa8b2fcfc271fff2cfd6471\"\u003e\u003ccode\u003e14207de\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eTemporal\u003c/code\u003e to \u003ccode\u003eno-obj-calls\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20675\"\u003e#20675\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bbb2c93a2b31bd30924f32fe69a9acf41f9dfe35\"\u003e\u003ccode\u003ebbb2c93\u003c/code\u003e\u003c/a\u003e feat: add Temporal to ES2026 globals (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20672\"\u003e#20672\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a\"\u003e\u003ccode\u003e542cb3e\u003c/code\u003e\u003c/a\u003e fix: update first-party dependencies (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20714\"\u003e#20714\u003c/a\u003e) (Francesco Trotta)\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/a2af743ea60f683d0e0de9d98267c1e7e4f5e412\"\u003e\u003ccode\u003ea2af743\u003c/code\u003e\u003c/a\u003e docs: add \u003ccode\u003elanguage\u003c/code\u003e to configuration objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20712\"\u003e#20712\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6\"\u003e\u003ccode\u003e845f23f\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/5fbcf5958b897cc4df5d652924d18428db37f7ee\"\u003e\u003ccode\u003e5fbcf59\u003c/code\u003e\u003c/a\u003e docs: remove \u003ccode\u003esourceType\u003c/code\u003e from ts playground link (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20477\"\u003e#20477\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4\"\u003e\u003ccode\u003e8702a47\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/ddeaded2ab36951383ff67c60fb64ec68d29a46a\"\u003e\u003ccode\u003eddeaded\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/2b4496691266547784a7f7ad1989ce53381bab91\"\u003e\u003ccode\u003e2b44966\u003c/code\u003e\u003c/a\u003e docs: add Major Releases section to Manage Releases (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20269\"\u003e#20269\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/eab65c700ebb16a6e790910c720450c9908961fd\"\u003e\u003ccode\u003eeab65c7\u003c/code\u003e\u003c/a\u003e docs: update \u003ccode\u003eeslint\u003c/code\u003e versions in examples (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20664\"\u003e#20664\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3e4a29903bf31f0998e45ad9128a265bce1edc56\"\u003e\u003ccode\u003e3e4a299\u003c/code\u003e\u003c/a\u003e docs: update ESM Dependencies policies with note for own-usage packages (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20660\"\u003e#20660\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f\"\u003e\u003ccode\u003e8120e30\u003c/code\u003e\u003c/a\u003e refactor: extract no unmodified loop condition (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20679\"\u003e#20679\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745\"\u003e\u003ccode\u003e46e8469\u003c/code\u003e\u003c/a\u003e chore: update dependency markdownlint-cli2 to ^0.22.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20697\"\u003e#20697\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/01ed3aa68477f81a7188e1498cf4906e02015b7c\"\u003e\u003ccode\u003e01ed3aa\u003c/code\u003e\u003c/a\u003e test: add unit tests for unicode utilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20622\"\u003e#20622\u003c/a\u003e) (Manish chaudhary)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/811f4930f82ee2b6ac8eae75cade9bed63de0781\"\u003e\u003ccode\u003e811f493\u003c/code\u003e\u003c/a\u003e ci: remove \u003ccode\u003e--legacy-peer-deps\u003c/code\u003e from types integration tests (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20667\"\u003e#20667\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6b86fcfc5c75d6a3b8a2cf7bcdb3ef60635a9a03\"\u003e\u003ccode\u003e6b86fcf\u003c/code\u003e\u003c/a\u003e chore: update dependency npm-run-all2 to v8 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20663\"\u003e#20663\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/632c4f83bf32b77981c7d395cacddd1bb172ee25\"\u003e\u003ccode\u003e632c4f8\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eprettier\u003c/code\u003e update commit to \u003ccode\u003e.git-blame-ignore-revs\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20662\"\u003e#20662\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b0b0f21927e03ba092400e3c70d7058f537765c8\"\u003e\u003ccode\u003eb0b0f21\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-regexp to ^3.1.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20659\"\u003e#20659\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/228a2dd4b272c17f516ee3541f1dd69eca0a8ab0\"\u003e\u003ccode\u003e228a2dd\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-eslint-plugin to ^7.3.2 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20661\"\u003e#20661\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3ab4d7e244df244102de9d0d250b2ff12456a785\"\u003e\u003ccode\u003e3ab4d7e\u003c/code\u003e\u003c/a\u003e test: Add tests for eslintrc-style keys (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20645\"\u003e#20645\u003c/a\u003e) (kuldeep kumar)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.1.0\u003c/h2\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ff4382be349035acdb170627a2dc92828e134562\"\u003e\u003ccode\u003eff4382b\u003c/code\u003e\u003c/a\u003e feat: apply fix for \u003ccode\u003eno-var\u003c/code\u003e in \u003ccode\u003eTSModuleBlock\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20638\"\u003e#20638\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0916995b51528872b15ba4fedb24172cf25fcb3f\"\u003e\u003ccode\u003e0916995\u003c/code\u003e\u003c/a\u003e feat: Implement api support for bulk-suppressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20565\"\u003e#20565\u003c/a\u003e) (Blake Sager)\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/2b8824e6be4223980e929a20025602df20d05ea2\"\u003e\u003ccode\u003e2b8824e\u003c/code\u003e\u003c/a\u003e fix: Prevent \u003ccode\u003eno-var\u003c/code\u003e autofix when a variable is used before declaration (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20464\"\u003e#20464\u003c/a\u003e) (Amaresh  S M)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e58b4bff167e79afd067d1b0ee9360bec2d3393e\"\u003e\u003ccode\u003ee58b4bf\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20597\"\u003e#20597\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b7b57fe9942c572ff651230f1f96cefed787ca52\"\u003e\u003ccode\u003eb7b57fe\u003c/code\u003e\u003c/a\u003e docs: use correct JSDoc link in require-jsdoc.md (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20641\"\u003e#20641\u003c/a\u003e) (mkemna-clb)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/58e4cfc7dbf0fe40c73f09bf0ff94ad944d0ba0e\"\u003e\u003ccode\u003e58e4cfc\u003c/code\u003e\u003c/a\u003e docs: add deprecation notice partial (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20639\"\u003e#20639\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7143dbf99df27c61edf1552da981794e99a0b2f2\"\u003e\u003ccode\u003e7143dbf\u003c/code\u003e\u003c/a\u003e docs: update v9 migration guide for \u003ccode\u003e@eslint/js\u003c/code\u003e usage (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20540\"\u003e#20540\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/035fc4fbe506e3e4524882cf50db37a4e430adf4\"\u003e\u003ccode\u003e035fc4f\u003c/code\u003e\u003c/a\u003e docs: note that \u003ccode\u003eglobalReturn\u003c/code\u003e applies only with \u003ccode\u003esourceType: \u0026quot;script\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20630\"\u003e#20630\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e972c88ab7474a74191ee99ac2558b00d0427a8a\"\u003e\u003ccode\u003ee972c88\u003c/code\u003e\u003c/a\u003e docs: merge ESLint option descriptions into type definitions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20608\"\u003e#20608\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/7f10d8440137f0cfd75f18f4746ba6a1c621b953\"\u003e\u003ccode\u003e7f10d84\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/aeed0078ca2f73d4744cc522102178d45b5be64e\"\u003e\u003ccode\u003eaeed007\u003c/code\u003e\u003c/a\u003e docs: open playground link in new tab (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20602\"\u003e#20602\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a0d1a3772679d3d74bb860fc65b5b58678acd452\"\u003e\u003ccode\u003ea0d1a37\u003c/code\u003e\u003c/a\u003e docs: Add AI Usage Policy (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20510\"\u003e#20510\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\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/eslint/commit/000128c29235c5a8c35c7ef817dbccc4e42130ca\"\u003e\u003ccode\u003e000128c\u003c/code\u003e\u003c/a\u003e 10.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1988fad70e361fe1c8df7804930a66e6a9bfc698\"\u003e\u003ccode\u003e1988fad\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/542cb3e6442a4e6ee3457c799e2a0ee23bef0c6a\"\u003e\u003ccode\u003e542cb3e\u003c/code\u003e\u003c/a\u003e fix: update first-party dependencies (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20714\"\u003e#20714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2af743ea60f683d0e0de9d98267c1e7e4f5e412\"\u003e\u003ccode\u003ea2af743\u003c/code\u003e\u003c/a\u003e docs: add \u003ccode\u003elanguage\u003c/code\u003e to configuration objects (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20712\"\u003e#20712\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/845f23f1370892bf07d819497ac518c9e65090d6\"\u003e\u003ccode\u003e845f23f\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5fbcf5958b897cc4df5d652924d18428db37f7ee\"\u003e\u003ccode\u003e5fbcf59\u003c/code\u003e\u003c/a\u003e docs: remove \u003ccode\u003esourceType\u003c/code\u003e from ts playground link (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20477\"\u003e#20477\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8702a474659be786b6b1392e5e7c0c56355ae4a4\"\u003e\u003ccode\u003e8702a47\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ddeaded2ab36951383ff67c60fb64ec68d29a46a\"\u003e\u003ccode\u003eddeaded\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8120e30f833474f47acc061d24d164e9f022264f\"\u003e\u003ccode\u003e8120e30\u003c/code\u003e\u003c/a\u003e refactor: extract no unmodified loop condition (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20679\"\u003e#20679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/46e8469786be1b2bbb522100e1d44624d98d3745\"\u003e\u003ccode\u003e46e8469\u003c/code\u003e\u003c/a\u003e chore: update dependency markdownlint-cli2 to ^0.22.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20697\"\u003e#20697\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.2...v10.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-config-next` from 16.1.6 to 16.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vercel/next.js/releases\"\u003eeslint-config-next's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.2.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ebackport: Move expanded adapters docs to API reference (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92115\"\u003e#92115\u003c/a\u003e) (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92129\"\u003e#92129\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBackport: TypeScript v6 deprecations for baseUrl and moduleResolution (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92130\"\u003e#92130\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[create-next-app] Skip interactive prompts when CLI flags are provided (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91840\"\u003e#91840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003enext.config.js: Accept an option for serverFastRefresh (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91968\"\u003e#91968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: enable server HMR for app route handlers (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91466\"\u003e#91466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: exclude metadata routes from server HMR (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92034\"\u003e#92034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix CI for glibc linux builds\u003c/li\u003e\n\u003cli\u003eBackport: disable bmi2 in qfilter \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92177\"\u003e#92177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[backport] Fix CSS HMR on Safari (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92174\"\u003e#92174\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/nextjs-bot\"\u003e\u003ccode\u003e@​nextjs-bot\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/icyJoseph\"\u003e\u003ccode\u003e@​icyJoseph\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ijjk\"\u003e\u003ccode\u003e@​ijjk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/gaojude\"\u003e\u003ccode\u003e@​gaojude\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/wbinnssmith\"\u003e\u003ccode\u003e@​wbinnssmith\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/bgw\"\u003e\u003ccode\u003e@​bgw\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev16.2.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nThis release is backporting bug fixes. It does \u003cstrong\u003enot\u003c/strong\u003e include all pending features/changes on canary.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003edocs: post release amends (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91715\"\u003e#91715\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: fix broken Activity Patterns demo link in preserving UI state guide (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91698\"\u003e#91698\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix adapter outputs for dynamic metadata routes (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91680\"\u003e#91680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: fix webpack loader runner layer (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91727\"\u003e#91727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix server actions in standalone mode with \u003ccode\u003ecacheComponents\u003c/code\u003e (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91711\"\u003e#91711\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eturbo-persistence: remove Unmergeable mmap advice (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91713\"\u003e#91713\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix layout segment optimization: move app-page imports to server-utility transition (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91701\"\u003e#91701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTurbopack: lazy require metadata and handle TLA (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91705\"\u003e#91705\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[turbopack] Respect \u003ccode\u003e{eval:true}\u003c/code\u003e in worker_threads constructors (\u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/91666\"\u003e#91666\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCredits\u003c/h3\u003e\n\u003cp\u003eHuge thanks to \u003ca href=\"https://github.com/icyJoseph\"\u003e\u003ccode\u003e@​icyJoseph\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/abhishekmardiya\"\u003e\u003ccode\u003e@​abhishekmardiya\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/ijjk\"\u003e\u003ccode\u003e@​ijjk\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/mischnic\"\u003e\u003ccode\u003e@​mischnic\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/unstubbable\"\u003e\u003ccode\u003e@​unstubbable\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/sokra\"\u003e\u003ccode\u003e@​sokra\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/lukesandberg\"\u003e\u003ccode\u003e@​lukesandberg\u003c/code\u003e\u003c/a\u003e for helping!\u003c/p\u003e\n\u003ch2\u003ev16.2.1-canary.25\u003c/h2\u003e\n\u003ch3\u003eCore Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInclude more context in macOS Rosetta 2 warning message: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92436\"\u003e#92436\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echange the process name of builds: \u003ca href=\"https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next/issues/92411\"\u003e#92411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix styled-jsx race condition: styles lost due to concurrent rendering: \u003ca ...\n\n_Description has been truncated_","html_url":"https://github.com/gr8monk3ys/InfiniStar/pull/23","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gr8monk3ys%2FInfiniStar/issues/23","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/23/packages"}},{"old_version":"0.0.29","new_version":"0.0.30","update_type":"patch","path":null,"pr_created_at":"2026-04-06T06:27:27.000Z","version_change":"0.0.29 → 0.0.30","issue":{"uuid":"4210003283","node_id":"PR_kwDOQbvDhs7QIT_x","number":19,"state":"open","title":"chore(deps)(deps-dev): bump the dev-dependencies group across 1 directory with 24 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-04-06T06:27:27.000Z","updated_at":"2026-04-06T06:27:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"dev-dependencies","update_count":24,"packages":[{"name":"@babel/parser","old_version":"7.29.0","new_version":"7.29.2","repository_url":"https://github.com/babel/babel"},{"name":"@commitlint/cli","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@playwright/test","old_version":"1.58.2","new_version":"1.59.1","repository_url":"https://github.com/microsoft/playwright"},{"name":"@tailwindcss/postcss","old_version":"4.2.0","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.0","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.3.0","new_version":"25.5.2","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.58.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.2","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"electron","old_version":"40.6.0","new_version":"40.8.5","repository_url":"https://github.com/electron/electron"},{"name":"eslint","old_version":"10.0.1","new_version":"10.2.0","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-refresh","old_version":"0.5.0","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"17.3.0","new_version":"17.4.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.4.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"playwright","old_version":"1.58.2","new_version":"1.59.1","repository_url":"https://github.com/microsoft/playwright"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"react-doctor","old_version":"0.0.29","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"sass","old_version":"1.97.3","new_version":"1.99.0","repository_url":"https://github.com/sass/dart-sass"},{"name":"tailwindcss","old_version":"4.2.0","new_version":"4.2.2","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite-plugin-electron","old_version":"0.29.0","new_version":"0.29.1","repository_url":"https://github.com/electron-vite/vite-plugin-electron"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.2","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@babel/parser](https://github.com/babel/babel/tree/HEAD/packages/babel-parser) | `7.29.0` | `7.29.2` |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.4.2` | `20.5.0` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.4.2` | `20.5.0` |\n| [@playwright/test](https://github.com/microsoft/playwright) | `1.58.2` | `1.59.1` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.2` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.0` | `4.2.2` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.0` | `25.5.2` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.58.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.58.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.2` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.2` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [electron](https://github.com/electron/electron) | `40.6.0` | `40.8.5` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.1` | `10.2.0` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.0` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.4.0` |\n| [playwright](https://github.com/microsoft/playwright) | `1.58.2` | `1.59.1` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.29` | `0.0.30` |\n| [sass](https://github.com/sass/dart-sass) | `1.97.3` | `1.99.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.2` |\n| [vite-plugin-electron](https://github.com/electron-vite/vite-plugin-electron) | `0.29.0` | `0.29.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.2` |\n\n\nUpdates `@babel/parser` from 7.29.0 to 7.29.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/babel/babel/releases\"\u003e\u003ccode\u003e@​babel/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev7.29.2 (2026-03-16)\u003c/h2\u003e\n\u003ch4\u003e:eyeglasses: Spec Compliance\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-parser\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17840\"\u003e#17840\u003c/a\u003e [7.x backport] async x =\u0026gt; {} must be in leading pos (\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-helpers\u003c/code\u003e, \u003ccode\u003ebabel-plugin-transform-async-generator-functions\u003c/code\u003e, \u003ccode\u003ebabel-preset-env\u003c/code\u003e, \u003ccode\u003ebabel-runtime-corejs3\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17805\"\u003e#17805\u003c/a\u003e [7.x backport] fix: Properly handle await in finally (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-preset-env\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17789\"\u003e#17789\u003c/a\u003e [7.x backport] preset-env include/exclude should accept bugfix plugins (\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\u003ca href=\"https://redirect.github.com/babel/babel/pull/17813\"\u003e#17813\u003c/a\u003e chore: update eslint peer deps (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev7.29.1 (2026-02-04)\u003c/h2\u003e\n\u003ch4\u003e:bug: Bug Fix\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ebabel-standalone\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17771\"\u003e#17771\u003c/a\u003e [7.x backport] fix: ensure \u003ccode\u003etargets.esmodules\u003c/code\u003e is validated (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ebabel-generator\u003c/code\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/babel/babel/pull/17776\"\u003e#17776\u003c/a\u003e [7.x backport] Fix undefined when 64 indents (\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCommitters: 2\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eHuáng Jùnliàng (\u003ca href=\"https://github.com/JLHwung\"\u003e\u003ccode\u003e@​JLHwung\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/liuxingbaoyu\"\u003e\u003ccode\u003e@​liuxingbaoyu\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/37d5595fca9f188f0534458180611f2e776acd31\"\u003e\u003ccode\u003e37d5595\u003c/code\u003e\u003c/a\u003e v7.29.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/babel/babel/commit/f030ad34f84bb4758d23764f3bf89b501c50d706\"\u003e\u003ccode\u003ef030ad3\u003c/code\u003e\u003c/a\u003e [7.x backport] async x =\u0026gt; {} must be in leading pos (\u003ca href=\"https://github.com/babel/babel/tree/HEAD/packages/babel-parser/issues/17840\"\u003e#17840\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/babel/babel/commits/v7.29.2/packages/babel-parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@commitlint/cli` from 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e validate that --cwd directory exists before execution (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4658\"\u003e#4658\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003ecf80f75\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4595\"\u003e#4595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003e\u003ccode\u003ecf80f75\u003c/code\u003e\u003c/a\u003e fix(cli): validate that --cwd directory exists before execution (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4658\"\u003e#4658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/18bd371428771ecc98a7b2f00194bfcbfb4ba809\"\u003e\u003ccode\u003e18bd371\u003c/code\u003e\u003c/a\u003e chore: deps (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@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 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@playwright/test` from 1.58.2 to 1.59.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/microsoft/playwright/releases\"\u003e\u003ccode\u003e@​playwright/test\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.59.1\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e[Windows]\u003c/strong\u003e Reverted hiding console window when spawning browser processes, which caused regressions including broken \u003ccode\u003ecodegen\u003c/code\u003e, \u003ccode\u003e--ui\u003c/code\u003e and \u003ccode\u003eshow\u003c/code\u003e commands (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39990\"\u003e#39990\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.59.0\u003c/h2\u003e\n\u003ch2\u003e🎬 Screencast\u003c/h2\u003e\n\u003cp\u003eNew \u003ca href=\"https://playwright.dev/docs/api/class-page#page-screencast\"\u003epage.screencast\u003c/a\u003e API provides a unified interface for capturing page content with:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eScreencast recordings\u003c/li\u003e\n\u003cli\u003eAction annotations\u003c/li\u003e\n\u003cli\u003eVisual overlays\u003c/li\u003e\n\u003cli\u003eReal-time frame capture\u003c/li\u003e\n\u003cli\u003eAgentic video receipts\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003cstrong\u003eScreencast recording\u003c/strong\u003e — record video with precise start/stop control, as an alternative to the \u003ca href=\"https://playwright.dev/docs/api/class-browser#browser-new-context-option-record-video\"\u003e\u003ccode\u003erecordVideo\u003c/code\u003e\u003c/a\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.start({ path: 'video.webm' });\r\n// ... perform actions ...\r\nawait page.screencast.stop();\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eAction annotations\u003c/strong\u003e — enable built-in visual annotations that highlight interacted elements and display action titles during recording:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003eawait page.screencast.showActions({ position: 'top-right' });\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ca href=\"https://playwright.dev/docs/api/class-screencast#screencast-show-actions\"\u003escreencast.showActions()\u003c/a\u003e accepts \u003ccode\u003eposition\u003c/code\u003e (\u003ccode\u003e'top-left'\u003c/code\u003e, \u003ccode\u003e'top'\u003c/code\u003e, \u003ccode\u003e'top-right'\u003c/code\u003e, \u003ccode\u003e'bottom-left'\u003c/code\u003e, \u003ccode\u003e'bottom'\u003c/code\u003e, \u003ccode\u003e'bottom-right'\u003c/code\u003e), \u003ccode\u003eduration\u003c/code\u003e (ms per annotation), and \u003ccode\u003efontSize\u003c/code\u003e (px). Returns a disposable to stop showing actions.\u003c/p\u003e\n\u003cp\u003eAction annotations can also be enabled in test fixtures via the \u003ccode\u003evideo\u003c/code\u003e option:\u003c/p\u003e\n\u003cpre lang=\"js\"\u003e\u003ccode\u003e// playwright.config.ts\r\nexport default defineConfig({\r\n  use: {\r\n    video: {\r\n      mode: 'on',\r\n      show: {\r\n        actions: { position: 'top-left' },\r\n        test: { position: 'top-right' },\r\n      },\r\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/microsoft/playwright/commit/d466ac5358cae058cdc75d2ae3ab3ad220042730\"\u003e\u003ccode\u003ed466ac5\u003c/code\u003e\u003c/a\u003e chore: mark v1.59.1 (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/40005\"\u003e#40005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/530e7e5f0021730948605a5788790d353d9cf444\"\u003e\u003ccode\u003e530e7e5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/4004\"\u003e#4004\u003c/a\u003e): fix(cli): kill-all should kill dashboard\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/9aa216c8d7f866e8a8fa94ca55d86e81a8f4decb\"\u003e\u003ccode\u003e9aa216c\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39994\"\u003e#39994\u003c/a\u003e): Revert \u0026quot;fix(windows): hide console window when spawning ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/01b2b1533e0bfa1c582117e3ec109fcb57657747\"\u003e\u003ccode\u003e01b2b15\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39980\"\u003e#39980\u003c/a\u003e): chore: more release notes fixes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/a5cb6c9a2f52078de075413beb812e3180d195ba\"\u003e\u003ccode\u003ea5cb6c9\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39972\"\u003e#39972\u003c/a\u003e): chore: expose browser.bind and browser.unbind APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/99a17b58541798b03257c57a9e5589db2394f89e\"\u003e\u003ccode\u003e99a17b5\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39975\"\u003e#39975\u003c/a\u003e): chore: support opening .trace files via .link indirection\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/43607c3b71d89445a6473708429eeecd6f571d6e\"\u003e\u003ccode\u003e43607c3\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39974\"\u003e#39974\u003c/a\u003e): chore(webkit): update Safari user-agent version to 26.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/62cabe19eb07e329086e5cb20441737cf51367d0\"\u003e\u003ccode\u003e62cabe1\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39969\"\u003e#39969\u003c/a\u003e): chore(npm): include all *.md from lib (\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39970\"\u003e#39970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/0c65a759af337ba5143ebbe34afe4141482ce2d4\"\u003e\u003ccode\u003e0c65a75\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39968\"\u003e#39968\u003c/a\u003e): chore: screencast.showActions api\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/microsoft/playwright/commit/f04155b09034c21719162146d6016de9933a2dbe\"\u003e\u003ccode\u003ef04155b\u003c/code\u003e\u003c/a\u003e cherry-pick(\u003ca href=\"https://redirect.github.com/microsoft/playwright/issues/39958\"\u003e#39958\u003c/a\u003e): chore: release notes for langs v1.59\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/microsoft/playwright/compare/v1.58.2...v1.59.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.0 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.2] - 2026-03-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve tsconfig paths to allow for \u003ccode\u003e@import '@/path/to/file';\u003c/code\u003e when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/d596b0c43d36ad5099c983930fb155e089cbc291\"\u003e\u003ccode\u003ed596b0c\u003c/code\u003e\u003c/a\u003e 4.2.2 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19821\"\u003e#19821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/faa5e8849be45e1009dc1d0f862ca782ee0a1ee9\"\u003e\u003ccode\u003efaa5e88\u003c/code\u003e\u003c/a\u003e Cleanup inconsistencies related to (regex) escapes (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19804\"\u003e#19804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` from 4.2.0 to 4.2.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.2\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.2] - 2026-03-18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't crash when candidates contain prototype properties like \u003ccode\u003erow-constructor\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19725\"\u003e#19725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCanonicalize \u003ccode\u003ecalc(var(--spacing)*…)\u003c/code\u003e expressions into \u003ccode\u003e--spacing(…)\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19769\"\u003e#19769\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash in canonicalization step when handling utilities containing \u003ccode\u003e@property\u003c/code\u003e at-rules (e.g. \u003ccode\u003eshadow-sm border\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19727\"\u003e#19727\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip full reload for server only modules scanned by client CSS when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19745\"\u003e#19745\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove canonicalization for bare values exceeding default spacing scale suggestions (e.g. \u003ccode\u003ew-1234 h-1234\u003c/code\u003e → \u003ccode\u003esize-1234\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19809\"\u003e#19809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix canonicalization resulting in empty list (e.g. \u003ccode\u003ew-5 h-5 size-5\u003c/code\u003e → \u003ccode\u003e''\u003c/code\u003e instead of \u003ccode\u003esize-5\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19812\"\u003e#19812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eResolve tsconfig paths to allow for \u003ccode\u003e@import '@/path/to/file';\u003c/code\u003e when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19803\"\u003e#19803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/d596b0c43d36ad5099c983930fb155e089cbc291\"\u003e\u003ccode\u003ed596b0c\u003c/code\u003e\u003c/a\u003e 4.2.2 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19821\"\u003e#19821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/faa5e8849be45e1009dc1d0f862ca782ee0a1ee9\"\u003e\u003ccode\u003efaa5e88\u003c/code\u003e\u003c/a\u003e Cleanup inconsistencies related to (regex) escapes (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19804\"\u003e#19804\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/59b0329f858dd8a25f64dfa55fb971aa6e74c32a\"\u003e\u003ccode\u003e59b0329\u003c/code\u003e\u003c/a\u003e Add support for Vite 8 in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19790\"\u003e#19790\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/bf441a799f67df1596c2cf40eda30ddb50859607\"\u003e\u003ccode\u003ebf441a7\u003c/code\u003e\u003c/a\u003e fix(vite): skip full reload for server only modules scanned by client css (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.0 to 25.5.2\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003ch3\u003e🩹 Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-optional-chain] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.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.57.1 (2026-03-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/typescript-eslint/typescript-eslint/commit/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/5a9bd366139c8e306dd78ae906d4389972de42b6\"\u003e\u003ccode\u003e5a9bd36\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-regexp-exec] avoid fixing unknown RegExp flags (#...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/edb90ebf7c75a71065bed719f3e72d18b830c6a0\"\u003e\u003ccode\u003eedb90eb\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-extraneous-class] handle index signatures (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/1bf86c9f5c799916d12079c037c79e10b29cdc9c\"\u003e\u003ccode\u003e1bf86c9\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/e9cc25a794dbf82a241807f394489a2aad39ffae\"\u003e\u003ccode\u003ee9cc25a\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): fix typo (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12155\"\u003e#12155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f68c8e4baca096281b458ccb6ff16ca6c5a1d199\"\u003e\u003ccode\u003ef68c8e4\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-readonly-parameter-types] preserve type alias inf...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/73acd2e6833c4757d2743a8dbb979154d31a1e98\"\u003e\u003ccode\u003e73acd2e\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-useless-default-assignment] skip reporting false posi...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/3d21482030e4fd220f466cea7036e07695277364\"\u003e\u003ccode\u003e3d21482\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-unsafe-return] false positive on unwrapping generic (...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.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.56.0 to 8.58.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.58.0\u003c/h2\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\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 crash in \u003ccode\u003eno-unnecessary-type-arguments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12163\"\u003e#12163\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-extraneous-class] handle index signatures (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12142\"\u003e#12142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-regexp-exec] avoid fixing unknown RegExp flags (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12161\"\u003e#12161\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eej shafran \u003ca href=\"https://github.com/ej-shafran\"\u003e\u003ccode\u003e@​ej-shafran\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\u003eGG ZIBLAKING\u003c/li\u003e\n\u003cli\u003emilkboy2564 \u003ca href=\"https://github.com/SeolJaeHyeok\"\u003e\u003ccode\u003e@​SeolJaeHyeok\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eteee32 \u003ca href=\"https://github.com/teee32\"\u003e\u003ccode\u003e@​teee32\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.58.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.57.2\u003c/h2\u003e\n\u003ch2\u003e8.57.2 (2026-03-23)\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] remove dangling closing parenthesis (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11865\"\u003e#11865\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [array-type] ignore Array and ReadonlyArray without type arguments (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11971\"\u003e#11971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-restricted-types] flag banned generics in extends or implements (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12120\"\u003e#12120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unsafe-return] false positive on unwrapping generic (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12125\"\u003e#12125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-useless-default-assignment] skip reporting false positives for unresolved type parameters (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12127\"\u003e#12127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-readonly-parameter-types] preserve type alias infomation (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11954\"\u003e#11954\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e skip createIsolatedProgram fallback for projectService (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12066\"\u003e#12066\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/issues/12065\"\u003e#12065\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKonv Suu\u003c/li\u003e\n\u003cli\u003emdm317\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRyoheiYamamoto\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTamashoo \u003ca href=\"https://github.com/Tamashoo\"\u003e\u003ccode\u003e@​Tamashoo\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.57.2\"\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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.58.0 (2026-03-30)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003esupport TypeScript 6 (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e❤️ Thank You\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEvyatar Daud \u003ca href=\"https://github.com/StyleShit\"\u003e\u003ccode\u003e@​StyleShit\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.58.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.57.2 (2026-03-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.1 (2026-03-16)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.57.0 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/493341709fe7d1d6433332b7bd2724e3332c7cdf\"\u003e\u003ccode\u003e4933417\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.58.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/8cde2d06fb9bc591a4c93452509ddbd600c76a35\"\u003e\u003ccode\u003e8cde2d0\u003c/code\u003e\u003c/a\u003e feat: support TypeScript 6 (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12124\"\u003e#12124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/be4d54d26e695cc93605ffcca67dd75848e95c6f\"\u003e\u003ccode\u003ebe4d54d\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/c7c38aa252d7bf6708a225aebedc57686ac33dcd\"\u003e\u003ccode\u003ec7c38aa\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8\"\u003e\u003ccode\u003ea09921e\u003c/code\u003e\u003c/a\u003e chore: update vitest to 4.x (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071\"\u003e#12071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/parser\"\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 4.0.18 to 4.1.2\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\u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.2\u003c/h2\u003e\n\u003cp\u003eThis release bumps Vitest's \u003ccode\u003eflatted\u003c/code\u003e version and removes version pinning to resolve \u003ccode\u003eflatted\u003c/code\u003e's CVE related issues (\u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9975\"\u003evitest-dev/vitest#9975\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDon't resolve \u003ccode\u003esetupFiles\u003c/code\u003e from parent directory  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9960\"\u003evitest-dev/vitest#9960\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7aa937776\"\u003e\u003c!-- raw HTML omitted --\u003e(7aa93)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sequential mock/unmock resolution  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9830\"\u003evitest-dev/vitest#9830\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7c06598db\"\u003e\u003c!-- raw HTML omitted --\u003e(7c065)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e: Take failure screenshot if \u003ccode\u003etoMatchScreenshot\u003c/code\u003e can't capture a stable screenshot  -  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/9847\"\u003evitest-dev/vitest#9847\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/faace1fbe\"\u003e\u003c!-- raw HTML omitted --\u003e(faace)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e: Correct \u003ccode\u003ecoverageConfigDefaults\u003c/code\u003e values and types  -  by \u003ca href=\"https://github.com/Arthie\"\u003e\u003ccode\u003e@​Arthie\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9940\"\u003evitest-dev/vitest#9940\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b3c992cb2\"\u003e\u003c!-- raw HTML omitted --\u003e(b3c99)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003epretty-format\u003c/strong\u003e: Fix output limit over counting  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9965\"\u003evitest-dev/vitest#9965\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3b7a40fa\"\u003e\u003c!-- raw HTML omitted --\u003e(d3b7a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable colors if agent is detected  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\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/9851\"\u003evitest-dev/vitest#9851\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f97b55dd\"\u003e\u003c!-- raw HTML omitted --\u003e(6f97b)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003e    \u003ca href=\"https://github.com/vitest-dev/vitest/compare/v4.1.1...v4.1.2\"\u003eView changes on GitHub\u003c/a\u003e\u003c/h5\u003e\n\u003ch2\u003ev4.1.1\u003c/h2\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eExpose \u003ccode\u003ematchesTags\u003c/code\u003e to test if the current filter matches tags  -  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/9913\"\u003evitest-dev/vitest#9913\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eec53d9f5\"\u003e\u003c!-- raw HTML omitted --\u003e(eec53)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eexperimental.vcsProvider\u003c/code\u003e  -  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/9928\"\u003evitest-dev/vitest#9928\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/561150036\"\u003e\u003c!-- raw HTML omitted --\u003e(56115)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e   🐞 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMark \u003ccode\u003eTestProject.testFilesList\u003c/code\u003e internal properly  -  by \u003ca href=\"https://github.com/sapphi-red\"\u003e\u003ccode\u003e@​sapphi-red\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9867\"\u003evitest-dev/vitest#9867\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/54f2660f5\"\u003e\u003c!-- raw HTML omitted --\u003e(54f26)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDetect fixture that returns without calling \u003ccode\u003euse\u003c/code\u003e  -  by \u003ca href=\"https://github.com/oilater\"\u003e\u003ccode\u003e@​oilater\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9831\"\u003evitest-dev/vitest#9831\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9861\"\u003evitest-dev/vitest#9861\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/633ae2303\"\u003e\u003c!-- raw HTML omitted --\u003e(633ae)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop vite 8.beta support  -  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/9862\"\u003evitest-dev/vitest#9862\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b78f5389d\"\u003e\u003c!-- raw HTML omitted --\u003e(b78f5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eType regression in vi.mocked() static class methods  -  by \u003ca href=\"https://github.com/purepear\"\u003e\u003ccode\u003e@​purepear\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9857\"\u003evitest-dev/vitest#9857\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/90926641b\"\u003e\u003c!-- raw HTML omitted --\u003e(90926)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperly re-evaluate actual modules of mocked external  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9898\"\u003evitest-dev/vitest#9898\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/ae5ec03ef\"\u003e\u003c!-- raw HTML omitted --\u003e(ae5ec)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePreserve coverage report when html reporter overlaps  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9889\"\u003evitest-dev/vitest#9889\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2d81ad897\"\u003e\u003c!-- raw HTML omitted --\u003e(2d81a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProvide \u003ccode\u003evi.advanceTimers\u003c/code\u003e to the preview provider  -  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/9891\"\u003evitest-dev/vitest#9891\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1bc3e63be\"\u003e\u003c!-- raw HTML omitted --\u003e(1bc3e)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDon't leak event listener in playwright provider  -  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/9910\"\u003evitest-dev/vitest#9910\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d93550ff7\"\u003e\u003c!-- raw HTML omitted --\u003e(d9355)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOp...\n\n_Description has been truncated_","html_url":"https://github.com/PixelDroid19/CheeseJs/pull/19","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelDroid19%2FCheeseJs/issues/19","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/19/packages"}},{"old_version":"0.0.29","new_version":"0.0.30","update_type":"patch","path":null,"pr_created_at":"2026-03-16T06:22:26.000Z","version_change":"0.0.29 → 0.0.30","issue":{"uuid":"4080492873","node_id":"PR_kwDOQbvDhs7K0hzS","number":13,"state":"closed","title":"chore(deps)(deps-dev): bump the dev-dependencies group across 1 directory with 21 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-03-23T06:20:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T06:22:26.000Z","updated_at":"2026-03-23T06:21:01.000Z","time_to_close":604713,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"dev-dependencies","update_count":21,"packages":[{"name":"@commitlint/cli","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.4.2","new_version":"20.5.0","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@tailwindcss/postcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.3.0","new_version":"25.5.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.57.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.57.0","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@vitest/coverage-v8","old_version":"4.0.18","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"@vitest/ui","old_version":"4.0.18","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"electron","old_version":"40.6.0","new_version":"40.8.2","repository_url":"https://github.com/electron/electron"},{"name":"eslint","old_version":"10.0.1","new_version":"10.0.3","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-refresh","old_version":"0.5.0","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"17.3.0","new_version":"17.4.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.4.0","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"react-doctor","old_version":"0.0.29","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"sass","old_version":"1.97.3","new_version":"1.98.0","repository_url":"https://github.com/sass/dart-sass"},{"name":"tailwindcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"vite-plugin-electron","old_version":"0.29.0","new_version":"0.29.1","repository_url":"https://github.com/electron-vite/vite-plugin-electron"},{"name":"vitest","old_version":"4.0.18","new_version":"4.1.0","repository_url":"https://github.com/vitest-dev/vitest"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 21 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.4.2` | `20.5.0` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.4.2` | `20.5.0` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.1` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.0` | `4.2.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.0` | `25.5.0` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.57.0` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.57.0` |\n| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.0.18` | `4.1.0` |\n| [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) | `4.0.18` | `4.1.0` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [electron](https://github.com/electron/electron) | `40.6.0` | `40.8.2` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.1` | `10.0.3` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.0` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.4.0` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.29` | `0.0.30` |\n| [sass](https://github.com/sass/dart-sass) | `1.97.3` | `1.98.0` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.1` |\n| [vite-plugin-electron](https://github.com/electron-vite/vite-plugin-electron) | `0.29.0` | `0.29.1` |\n| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.0.18` | `4.1.0` |\n\n\nUpdates `@commitlint/cli` from 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecli:\u003c/strong\u003e validate that --cwd directory exists before execution (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4658\"\u003e#4658\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003ecf80f75\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4595\"\u003e#4595\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/cf80f75745593f4f018cac301a91f23316c974fd\"\u003e\u003ccode\u003ecf80f75\u003c/code\u003e\u003c/a\u003e fix(cli): validate that --cwd directory exists before execution (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4658\"\u003e#4658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/18bd371428771ecc98a7b2f00194bfcbfb4ba809\"\u003e\u003ccode\u003e18bd371\u003c/code\u003e\u003c/a\u003e chore: deps (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@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 20.4.2 to 20.5.0\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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.5.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(resolve-extends): always resolve extended parser presets for proper merging by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(load): resolve async config exports in CJS projects by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4659\"\u003econventional-changelog/commitlint#4659\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(cli): validate that --cwd directory exists before execution by \u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4658\"\u003econventional-changelog/commitlint#4658\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat(cz-commitlint): add exclamation mark support for breaking changes by \u003ca href=\"https://github.com/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\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/mrt181\"\u003e\u003ccode\u003e@​mrt181\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4655\"\u003econventional-changelog/commitlint#4655\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/omar-y-abdi\"\u003e\u003ccode\u003e@​omar-y-abdi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4647\"\u003econventional-changelog/commitlint#4647\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/v20.4.4...v20.5.0\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.4\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix(types): allow context parameter in QualifiedRuleConfig functions by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(read): update git-raw-commits to v5 API by \u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(is-ignored): strip CI skip markers from release commits by \u003ca href=\"https://github.com/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4637\"\u003econventional-changelog/commitlint#4637\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/Br1an67\"\u003e\u003ccode\u003e@​Br1an67\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4636\"\u003econventional-changelog/commitlint#4636\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Tamas-hi\"\u003e\u003ccode\u003e@​Tamas-hi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4638\"\u003econventional-changelog/commitlint#4638\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/v20.4.3...v20.4.4\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md\"\u003e\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.4...v20.5.0\"\u003e20.5.0\u003c/a\u003e (2026-03-15)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.3...v20.4.4\"\u003e20.4.4\u003c/a\u003e (2026-03-12)\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7918e9cf70f822505cb4422c03150a86f802627\"\u003e\u003ccode\u003ea7918e9\u003c/code\u003e\u003c/a\u003e v20.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/02d7245e9b204ed07a68298e4d73c8d82a4b7f81\"\u003e\u003ccode\u003e02d7245\u003c/code\u003e\u003c/a\u003e v20.4.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.5.0/@commitlint/config-conventional\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/postcss` from 4.2.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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` 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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.0 to 25.5.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@typescript-eslint/eslint-plugin` from 8.56.0 to 8.57.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.57.0\u003c/h2\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] allow literal loop conditions in for/do loops (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080\"\u003e#12080\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 [strict-void-return] false positives with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055\"\u003e#12055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e handle statically analyzable computed keys in prefer-readonly (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079\"\u003e#12079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e guard against negative paramIndex in no-useless-default-assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077\"\u003e#12077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-promise-reject-errors] add allow \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e to prefer-promise-reject-errors (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094\"\u003e#12094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-base-to-string] fix false positive for toString with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089\"\u003e#12089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e switch back to use \u003ccode\u003ets.getModifiers()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034\"\u003e#12034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e if the template literal is tagged and the text has an invalid escape, \u003ccode\u003ecooked\u003c/code\u003e will be \u003ccode\u003enull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355\"\u003e#11355\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\u003eBrian Schlenker \u003ca href=\"https://github.com/bschlenk\"\u003e\u003ccode\u003e@​bschlenk\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\u003efisker Cheung \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMoses Odutusin \u003ca href=\"https://github.com/thebolarin\"\u003e\u003ccode\u003e@​thebolarin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] allow literal loop conditions in for/do loops (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080\"\u003e#12080\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-base-to-string] fix false positive for toString with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089\"\u003e#12089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-promise-reject-errors] add allow \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e to prefer-promise-reject-errors (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094\"\u003e#12094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e if the template literal is tagged and the text has an invalid escape, \u003ccode\u003ecooked\u003c/code\u003e will be \u003ccode\u003enull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355\"\u003e#11355\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e guard against negative paramIndex in no-useless-default-assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077\"\u003e#12077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e handle statically analyzable computed keys in prefer-readonly (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079\"\u003e#12079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [strict-void-return] false positives with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055\"\u003e#12055\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\u003eBrian Schlenker \u003ca href=\"https://github.com/bschlenk\"\u003e\u003ccode\u003e@​bschlenk\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\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMoses Odutusin \u003ca href=\"https://github.com/thebolarin\"\u003e\u003ccode\u003e@​thebolarin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/46bf066d3df4af9aa8804a383e0d6d407a8e79f0\"\u003e\u003ccode\u003e46bf066\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): document no-unnecessary-condition limitation with object...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2029c78dcbe11b7e750af588d3c47f1211f02798\"\u003e\u003ccode\u003e2029c78\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [no-base-to-string] fix false positive for toString with ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/0f4f101a125487bc07db323288afb86d5247bc31\"\u003e\u003ccode\u003e0f4f101\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [prefer-promise-reject-errors] add allow `TypeOrValueSpec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/53f473b7a8c46094623712ba69a627182d049a5b\"\u003e\u003ccode\u003e53f473b\u003c/code\u003e\u003c/a\u003e fix(typescript-estree): if the template literal is tagged and the text has an...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/2291b81f99670319618192645519a056fdb94cf4\"\u003e\u003ccode\u003e2291b81\u003c/code\u003e\u003c/a\u003e docs: minor grammar adjustment (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12112\"\u003e#12112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/fc5cd09de85600134ca0885ad5cdcedcddcd20ba\"\u003e\u003ccode\u003efc5cd09\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): guard against negative paramIndex in no-useless-default-a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/adc2aad848fe1ac8044ba4a8d84daf8bb1939ced\"\u003e\u003ccode\u003eadc2aad\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): handle statically analyzable computed keys in prefer-read...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/85badfffbf38730772afbffaa6d024592752664a\"\u003e\u003ccode\u003e85badff\u003c/code\u003e\u003c/a\u003e fix(eslint-plugin): [strict-void-return] false positives with overloads (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12055\"\u003e#12055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.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.56.0 to 8.57.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.57.0\u003c/h2\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-unnecessary-condition] allow literal loop conditions in for/do loops (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12080\"\u003e#12080\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 [strict-void-return] false positives with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12055\"\u003e#12055\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e handle statically analyzable computed keys in prefer-readonly (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12079\"\u003e#12079\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e guard against negative paramIndex in no-useless-default-assignment (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12077\"\u003e#12077\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [prefer-promise-reject-errors] add allow \u003ccode\u003eTypeOrValueSpecifier\u003c/code\u003e to prefer-promise-reject-errors (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12094\"\u003e#12094\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eeslint-plugin:\u003c/strong\u003e [no-base-to-string] fix false positive for toString with overloads (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12089\"\u003e#12089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e switch back to use \u003ccode\u003ets.getModifiers()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12034\"\u003e#12034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003etypescript-estree:\u003c/strong\u003e if the template literal is tagged and the text has an invalid escape, \u003ccode\u003ecooked\u003c/code\u003e will be \u003ccode\u003enull\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11355\"\u003e#11355\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\u003eBrian Schlenker \u003ca href=\"https://github.com/bschlenk\"\u003e\u003ccode\u003e@​bschlenk\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\u003efisker Cheung \u003ca href=\"https://github.com/fisker\"\u003e\u003ccode\u003e@​fisker\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJames Henry \u003ca href=\"https://github.com/JamesHenry\"\u003e\u003ccode\u003e@​JamesHenry\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJosh Goldberg\u003c/li\u003e\n\u003cli\u003eKirk Waiblinger \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMoses Odutusin \u003ca href=\"https://github.com/thebolarin\"\u003e\u003ccode\u003e@​thebolarin\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNewton Yuan \u003ca href=\"https://github.com/NewtonYuan\"\u003e\u003ccode\u003e@​NewtonYuan\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSungHyun627 \u003ca href=\"https://github.com/SungHyun627\"\u003e\u003ccode\u003e@​SungHyun627\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYounsang Na \u003ca href=\"https://github.com/nayounsang\"\u003e\u003ccode\u003e@​nayounsang\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.0\"\u003eGitHub Releases\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.57.0 (2026-03-09)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.57.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.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/2c6aeeec238dfea860b9f3c146a55f8f49f15cf5\"\u003e\u003ccode\u003e2c6aeee\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.57.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/f696dadfc37078efe4119ad2ab0609cde3e42766\"\u003e\u003ccode\u003ef696dad\u003c/code\u003e\u003c/a\u003e chore: use pnpm catalog (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12047\"\u003e#12047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/a09921e2de2e8790e6a803016b825815ca9409d8\"\u003e\u003ccode\u003ea09921e\u003c/code\u003e\u003c/a\u003e chore: update vitest to 4.x (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser/issues/12071\"\u003e#12071\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/parser\"\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 4.0.18 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e\u003ccode\u003e@​vitest/coverage-v8\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\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/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\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/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  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/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  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/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  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/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  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/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  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/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  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/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  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/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  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/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  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/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  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/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  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/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  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/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\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/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\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/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9235\"\u003evitest-dev/vitest#9235\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2f367fad3\"\u003e\u003c!-- raw HTML omitted --\u003e(2f367)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd filters to \u003ccode\u003ecreateSpecification\u003c/code\u003e  -  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/9336\"\u003evitest-dev/vitest#9336\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8e6c7fbf\"\u003e\u003c!-- raw HTML omitted --\u003e(c8e6c)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003erunTestFiles\u003c/code\u003e as alternative to \u003ccode\u003erunTestSpecifications\u003c/code\u003e  -  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/9443\"\u003evitest-dev/vitest#9443\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/43d761821\"\u003e\u003c!-- raw HTML omitted --\u003e(43d76)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eallowWrite\u003c/code\u003e and \u003ccode\u003eallowExec\u003c/code\u003e options to \u003ccode\u003eapi\u003c/code\u003e  -  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/9350\"\u003evitest-dev/vitest#9350\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/20e00ef78\"\u003e\u003c!-- raw HTML omitted --\u003e(20e00)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow passing down test cases to \u003ccode\u003etoTestSpecification\u003c/code\u003e  -  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/9627\"\u003evitest-dev/vitest#9627\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/6f17d5ddf\"\u003e\u003c!-- raw HTML omitted --\u003e(6f17d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebrowser\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003euserEvent.wheel\u003c/code\u003e API  -  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/9188\"\u003evitest-dev/vitest#9188\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/660801979\"\u003e\u003c!-- raw HTML omitted --\u003e(66080)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efilterNode\u003c/code\u003e option to prettyDOM for filtering browser assertion error output  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/9475\"\u003evitest-dev/vitest#9475\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d3220fcd8\"\u003e\u003c!-- raw HTML omitted --\u003e(d3220)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright persistent context  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003eClaude Opus 4.6\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/9229\"\u003evitest-dev/vitest#9229\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f865d2ba4\"\u003e\u003c!-- raw HTML omitted --\u003e(f865d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003edetailsPanelPosition\u003c/code\u003e option and button  -  by \u003ca href=\"https://github.com/shairez\"\u003e\u003ccode\u003e@​shairez\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9525\"\u003evitest-dev/vitest#9525\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c8a31147c\"\u003e\u003c!-- raw HTML omitted --\u003e(c8a31)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse BlazeDiff instead of pixelmatch  -  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/9514\"\u003evitest-dev/vitest#9514\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/309362089\"\u003e\u003c!-- raw HTML omitted --\u003e(30936)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efindElement\u003c/code\u003e and enable strict mode in webdriverio and preview  -  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/9677\"\u003evitest-dev/vitest#9677\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c3f37721c\"\u003e\u003c!-- raw HTML omitted --\u003e(c3f37)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecli\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ca href=\"https://github.com/bomb\"\u003e\u003ccode\u003e@​bomb\u003c/code\u003e\u003c/a\u003e.sh/tab completions  -  by \u003ca href=\"https://github.com/AmirSa12\"\u003e\u003ccode\u003e@​AmirSa12\u003c/code\u003e\u003c/a\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/8639\"\u003evitest-dev/vitest#8639\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/200f31704\"\u003e\u003c!-- raw HTML omitted --\u003e(200f3)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecoverage\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003eignore start/stop\u003c/code\u003e ignore hints  -  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/9204\"\u003evitest-dev/vitest#9204\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e59c94ba6\"\u003e\u003c!-- raw HTML omitted --\u003e(e59c9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecoverage.changed\u003c/code\u003e option to report only changed files  -  by \u003ca href=\"https://github.com/kykim00\"\u003e\u003ccode\u003e@​kykim00\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/9521\"\u003evitest-dev/vitest#9521\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9392c67\"\u003e\u003c!-- raw HTML omitted --\u003e(1d939)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eexperimental\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eonModuleRunner\u003c/code\u003e hook to \u003ccode\u003eworker.init\u003c/code\u003e  -  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/9286\"\u003evitest-dev/vitest#9286\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e977f3deb\"\u003e\u003c!-- raw HTML omitted --\u003e(e977f)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOption to disable the module runner  -  by \u003ca href=\"https://github.com/sheremet-va\"\u003e\u003ccode\u003e@​sheremet-va\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/9210\"\u003evitest-dev/vitest#9210\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/9be6121ee\"\u003e\u003c!-- raw HTML omitted --\u003e(9be61)\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/4150b913171bda3971a4a4c47c633c26d0c6ae45\"\u003e\u003ccode\u003e4150b91\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/0c2c01361a95dd26d0d7fd7bc38bcca8dbc6e5d2\"\u003e\u003ccode\u003e0c2c013\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/689a22a1b8c79595f6f4ae82d2b43c895d7f1c50\"\u003e\u003ccode\u003e689a22a\u003c/code\u003e\u003c/a\u003e fix(browser): types of \u003ccode\u003egetCDPSession\u003c/code\u003e and \u003ccode\u003ecdp()\u003c/code\u003e (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9716\"\u003e#9716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/94eb73b519cb5ecd06c9aa178a3f0e161c96236f\"\u003e\u003ccode\u003e94eb73b\u003c/code\u003e\u003c/a\u003e chore(deps): update eslint packages (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9615\"\u003e#9615\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/8c96bb0023f551c78a81461d5c9aaedee634fe99\"\u003e\u003ccode\u003e8c96bb0\u003c/code\u003e\u003c/a\u003e refator: update links to npmx (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9783\"\u003e#9783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/aaf775896af2356f5c710c54ec6e624fe8e4eef9\"\u003e\u003ccode\u003eaaf7758\u003c/code\u003e\u003c/a\u003e chore: standardize packages README (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9776\"\u003e#9776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/57cbe393bfb44602b0ea36110e9161aa08f4a468\"\u003e\u003ccode\u003e57cbe39\u003c/code\u003e\u003c/a\u003e chore(deps): update \u003ccode\u003east-v8-to-istanbul\u003c/code\u003e to v1 (\u003ca href=\"https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/9755\"\u003e#9755\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/79672d7e1586981f04dce7619cbd8c3a31eff284\"\u003e\u003ccode\u003e79672d7\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/1d9e3b3315024e3443a5a72fa8387508f4223528\"\u003e\u003ccode\u003e1d9e3b3\u003c/code\u003e\u003c/a\u003e chore: release v4.1.0-beta.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vitest-dev/vitest/commit/4ff8c6fa15003c5464e901d71b3e9ec4c1854232\"\u003e\u003ccode\u003e4ff8c6f\u003c/code\u003e\u003c/a\u003e chore(build): raise build target to the minimum supported, don't bundle utils...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vitest-dev/vitest/commits/v4.1.0/packages/coverage-v8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@vitest/ui` from 4.0.18 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vitest-dev/vitest/releases\"\u003e\u003ccode\u003e@​vitest/ui\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eVitest 4.1 is out!\u003c/p\u003e\n\u003cp\u003eThis release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our \u003ca href=\"https://vitest.dev/blog/vitest-4-1\"\u003eblog post\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003e   🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReturn a disposable from doMock()  -  by \u003ca href=\"https://github.com/kirkwaiblinger\"\u003e\u003ccode\u003e@​kirkwaiblinger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9332\"\u003evitest-dev/vitest#9332\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e3e659a96\"\u003e\u003c!-- raw HTML omitted --\u003e(e3e65)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded chai style assertions  -  by \u003ca href=\"https://github.com/ronnakamoto\"\u003e\u003ccode\u003e@​ronnakamoto\u003c/code\u003e\u003c/a\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/8842\"\u003evitest-dev/vitest#8842\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/841df9ac5\"\u003e\u003c!-- raw HTML omitted --\u003e(841df)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to sinon/fake-timers v15 and add \u003ccode\u003esetTickMode\u003c/code\u003e to timer controls  -  by \u003ca href=\"https://github.com/atscott\"\u003e\u003ccode\u003e@​atscott\u003c/code\u003e\u003c/a\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/8726\"\u003evitest-dev/vitest#8726\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/4b480aaed\"\u003e\u003c!-- raw HTML omitted --\u003e(4b480)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpose matcher types  -  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/9448\"\u003evitest-dev/vitest#9448\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/3e4b913b1\"\u003e\u003c!-- raw HTML omitted --\u003e(3e4b9)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etoTestSpecification\u003c/code\u003e to reported tasks  -  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/9464\"\u003evitest-dev/vitest#9464\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/1a4705da9\"\u003e\u003c!-- raw HTML omitted --\u003e(1a470)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eShow a warning if \u003ccode\u003evi.mock\u003c/code\u003e or \u003ccode\u003evi.hoisted\u003c/code\u003e are declared outside of top level of the module  -  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/9387\"\u003evitest-dev/vitest#9387\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/5db54a468\"\u003e\u003c!-- raw HTML omitted --\u003e(5db54)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTrack and display expectedly failed tests (.fails) in UI and CLI  -  by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e, \u003cstrong\u003esheremet-va\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/9476\"\u003evitest-dev/vitest#9476\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/77d75fd34\"\u003e\u003c!-- raw HTML omitted --\u003e(77d75)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport tags  -  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/9478\"\u003evitest-dev/vitest#9478\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/de7c8a521\"\u003e\u003c!-- raw HTML omitted --\u003e(de7c8)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003earoundEach\u003c/code\u003e and \u003ccode\u003earoundAll\u003c/code\u003e hooks  -  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/9450\"\u003evitest-dev/vitest#9450\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/2a8cb9dc2\"\u003e\u003c!-- raw HTML omitted --\u003e(2a8cb)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStabilize experimental features  -  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/9529\"\u003evitest-dev/vitest#9529\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/b5fd2a16a\"\u003e\u003c!-- raw HTML omitted --\u003e(b5fd2)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003enew\u003c/code\u003e or \u003ccode\u003eall\u003c/code\u003e in \u003ccode\u003e--update\u003c/code\u003e flag  -  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/9543\"\u003evitest-dev/vitest#9543\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/a5acf28a5\"\u003e\u003c!-- raw HTML omitted --\u003e(a5acf)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003emeta\u003c/code\u003e in test options  -  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/9535\"\u003evitest-dev/vitest#9535\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7d622e3d1\"\u003e\u003c!-- raw HTML omitted --\u003e(7d622)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport type inference with a new \u003ccode\u003etest.extend\u003c/code\u003e syntax  -  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/9550\"\u003evitest-dev/vitest#9550\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/e53854fcc\"\u003e\u003c!-- raw HTML omitted --\u003e(e5385)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport vite 8 beta, fix type issues in the config with different vite versions  -  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/9587\"\u003evitest-dev/vitest#9587\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/990281dfd\"\u003e\u003c!-- raw HTML omitted --\u003e(99028)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd assertion helper to hide internal stack traces  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eClaude Opus 4.6\u003c/strong\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9594\"\u003evitest-dev/vitest#9594\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/eeb0ae2f8\"\u003e\u003c!-- raw HTML omitted --\u003e(eeb0a)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStore failure screenshots using artifacts API  -  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/9588\"\u003evitest-dev/vitest#9588\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/24603e3c4\"\u003e\u003c!-- raw HTML omitted --\u003e(24603)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003evitest list\u003c/code\u003e to statically collect tests instead of running files to collect them  -  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/9630\"\u003evitest-dev/vitest#9630\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/7a8e7fc20\"\u003e\u003c!-- raw HTML omitted --\u003e(7a8e7)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e--detect-async-leaks\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/9528\"\u003evitest-dev/vitest#9528\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/c594d4af3\"\u003e\u003c!-- raw HTML omitted --\u003e(c594d)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement \u003ccode\u003emockThrow\u003c/code\u003e and \u003ccode\u003emockThrowOnce\u003c/code\u003e  -  by \u003ca href=\"https://github.com/thor-juhasz\"\u003e\u003ccode\u003e@​thor-juhasz\u003c/code\u003e\u003c/a\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/9512\"\u003evitest-dev/vitest#9512\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/619179fb7\"\u003e\u003c!-- raw HTML omitted --\u003e(61917)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003eupdate: \u0026quot;none\u0026quot;\u003c/code\u003e and add docs about snapshots behavior on CI  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9700\"\u003evitest-dev/vitest#9700\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/05f1854e2\"\u003e\u003c!-- raw HTML omitted --\u003e(05f18)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport playwright \u003ccode\u003elaunchOptions\u003c/code\u003e with \u003ccode\u003econnectOptions\u003c/code\u003e  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9702\"\u003evitest-dev/vitest#9702\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/f0ff1b2a0\"\u003e\u003c!-- raw HTML omitted --\u003e(f0ff1)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epage/locator.mark\u003c/code\u003e API to enhance playwright trace  -  by \u003ca href=\"https://github.com/hi-ogawa\"\u003e\u003ccode\u003e@​hi-ogawa\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vitest-dev/vitest/issues/9652\"\u003evitest-dev/vitest#9652\u003c/a\u003e \u003ca href=\"https://github.com/vitest-dev/vitest/commit/d0ee546fe\"\u003e\u003c!-- raw HTML omitted --\u003e(d0ee5)\u003c!-- raw HTML omitted --\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapi\u003c/strong\u003e:\n\u003cul\u003e\n\u003cli\u003eSupport tests starting or ending with \u003ccode\u003etest\u003c/code\u003e in \u003ccode\u003eexperimental_parseSpecification\u003c/code\u003e  -  by \u003ca href=\"https://github.com/jgillick\"\u003e\u003ccode\u003e@​jgillick\u003c/code\u003e\u003c/a\u003e and \u003cstrong\u003eJeremy Gillick\u003c/strong\u003e in \u003ca href=\"https://redirect.gi...\n\n_Description has been truncated_","html_url":"https://github.com/PixelDroid19/CheeseJs/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelDroid19%2FCheeseJs/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"0.0.29","new_version":"0.0.30","update_type":"patch","path":null,"pr_created_at":"2026-03-09T06:23:25.000Z","version_change":"0.0.29 → 0.0.30","issue":{"uuid":"4043620961","node_id":"PR_kwDOQbvDhs7I-LZ8","number":11,"state":"open","title":"chore(deps)(deps-dev): bump the dev-dependencies group across 1 directory with 16 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-03-09T06:23:25.000Z","updated_at":"2026-03-16T08:03:07.595Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)(deps-dev): bump","group_name":"dev-dependencies","update_count":16,"packages":[{"name":"@commitlint/cli","old_version":"20.4.2","new_version":"20.4.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@commitlint/config-conventional","old_version":"20.4.2","new_version":"20.4.3","repository_url":"https://github.com/conventional-changelog/commitlint"},{"name":"@tailwindcss/postcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@tailwindcss/vite","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"},{"name":"@types/node","old_version":"25.3.0","new_version":"25.3.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"@typescript-eslint/eslint-plugin","old_version":"8.56.0","new_version":"8.56.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"@typescript-eslint/parser","old_version":"8.56.0","new_version":"8.56.1","repository_url":"https://github.com/typescript-eslint/typescript-eslint"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"electron","old_version":"40.6.0","new_version":"40.8.0","repository_url":"https://github.com/electron/electron"},{"name":"eslint","old_version":"10.0.1","new_version":"10.0.3","repository_url":"https://github.com/eslint/eslint"},{"name":"eslint-plugin-react-refresh","old_version":"0.5.0","new_version":"0.5.2","repository_url":"https://github.com/ArnaudBarre/eslint-plugin-react-refresh"},{"name":"globals","old_version":"17.3.0","new_version":"17.4.0","repository_url":"https://github.com/sindresorhus/globals"},{"name":"lint-staged","old_version":"16.2.7","new_version":"16.3.2","repository_url":"https://github.com/lint-staged/lint-staged"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"react-doctor","old_version":"0.0.29","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"tailwindcss","old_version":"4.2.0","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dev-dependencies group with 16 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `20.4.2` | `20.4.3` |\n| [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `20.4.2` | `20.4.3` |\n| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.1` |\n| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) | `4.2.0` | `4.2.1` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `25.3.0` | `25.3.5` |\n| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.56.0` | `8.56.1` |\n| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.56.0` | `8.56.1` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [electron](https://github.com/electron/electron) | `40.6.0` | `40.8.0` |\n| [eslint](https://github.com/eslint/eslint) | `10.0.1` | `10.0.3` |\n| [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) | `0.5.0` | `0.5.2` |\n| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |\n| [lint-staged](https://github.com/lint-staged/lint-staged) | `16.2.7` | `16.3.2` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.29` | `0.0.30` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.1` |\n\n\nUpdates `@commitlint/cli` from 20.4.2 to 20.4.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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e 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/4634\"\u003econventional-changelog/commitlint#4634\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChore etc.\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: enhance format check with error message by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4632\"\u003econventional-changelog/commitlint#4632\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/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\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/v20.4.2...v20.4.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.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\u003ccode\u003e@​commitlint/cli\u003c/code\u003e'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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/18bd371428771ecc98a7b2f00194bfcbfb4ba809\"\u003e\u003ccode\u003e18bd371\u003c/code\u003e\u003c/a\u003e chore: deps (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4635\"\u003e#4635\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.4.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 20.4.2 to 20.4.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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev20.4.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: npx usage \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/613\"\u003e#613\u003c/a\u003e 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/4630\"\u003econventional-changelog/commitlint#4630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(types): incorrect types for rule options by \u003ca href=\"https://github.com/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e 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/4634\"\u003econventional-changelog/commitlint#4634\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChore etc.\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eci: enhance format check with error message by \u003ca href=\"https://github.com/knocte\"\u003e\u003ccode\u003e@​knocte\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4632\"\u003econventional-changelog/commitlint#4632\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/Zamiell\"\u003e\u003ccode\u003e@​Zamiell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/pull/4633\"\u003econventional-changelog/commitlint#4633\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/v20.4.2...v20.4.3\"\u003ehttps://github.com/conventional-changelog/commitlint/compare/v20.4.2...v20.4.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\u003ccode\u003e@​commitlint/config-conventional\u003c/code\u003e'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/v20.4.2...v20.4.3\"\u003e20.4.3\u003c/a\u003e (2026-03-03)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efooter parser does not escape special chars for regex \u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/conventional-changelog/commitlint/issues/4634\"\u003e#4634\u003c/a\u003e) (\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e8ff7c7f\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/a7469817974796a6e89f55911bb66b7bffa44099\"\u003e\u003ccode\u003ea746981\u003c/code\u003e\u003c/a\u003e v20.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/conventional-changelog/commitlint/commit/8ff7c7fcbc2db2b45910ecb5c01e9f1763060770\"\u003e\u003ccode\u003e8ff7c7f\u003c/code\u003e\u003c/a\u003e fix: footer parser does not escape special chars for regex \u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4560\"\u003e#4560\u003c/a\u003e (\u003ca href=\"https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional/issues/4634\"\u003e#4634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/conventional-changelog/commitlint/commits/v20.4.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 `@tailwindcss/postcss` 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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/postcss\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-postcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@tailwindcss/vite` 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/tailwindlabs/tailwindcss/releases\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003e\u003ccode\u003e@​tailwindcss/vite\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-vite\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/node` from 25.3.0 to 25.3.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.56.0 to 8.56.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\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/eslint-plugin\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for eslint-plugin to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/958f390c8c5b136e6f095f9230ba301fc1db00e9\"\u003e\u003ccode\u003e958f390\u003c/code\u003e\u003c/a\u003e chore(eslint-plugin): add default excludes to vitest (\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12067\"\u003e#12067\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commit/ffb46eaa41a7c8a831dc09f0ed726dd4cc06ea4f\"\u003e\u003ccode\u003effb46ea\u003c/code\u003e\u003c/a\u003e docs(eslint-plugin): [method-signature-style] clarify autofix impact on type ...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.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.56.0 to 8.56.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\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.56.1\u003c/h2\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore(deps): update dependency minimatch to v10.2.2 by \u003ca href=\"https://github.com/benmccann\"\u003e\u003ccode\u003e@​benmccann\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12074\"\u003etypescript-eslint/typescript-eslint#12074\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can read about our \u003ca href=\"https://typescript-eslint.io/users/versioning\"\u003eversioning strategy\u003c/a\u003e and \u003ca href=\"https://typescript-eslint.io/users/releases\"\u003ereleases\u003c/a\u003e on our website.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md\"\u003e\u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.56.1 (2026-02-23)\u003c/h2\u003e\n\u003cp\u003eThis was a version bump only for parser to align it with other projects, there were no code changes.\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.56.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/96a04a97454cf6b6ae8366711c09333bf6e2327a\"\u003e\u003ccode\u003e96a04a9\u003c/code\u003e\u003c/a\u003e chore(release): publish 8.56.1\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/parser\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `autoprefixer` from 10.4.24 to 10.4.27\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/releases\"\u003eautoprefixer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md\"\u003eautoprefixer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.4.27\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved development key from \u003ccode\u003epackage.json\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eReduced package size.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e10.4.25\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed broken gradients on CSS Custom Properties (by \u003ca href=\"https://github.com/serger777\"\u003e\u003ccode\u003e@​serger777\u003c/code\u003e\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/360f2d9ecbad3315fbabc61fb2131ac939fee211\"\u003e\u003ccode\u003e360f2d9\u003c/code\u003e\u003c/a\u003e Release 10.4.27 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ab5260c30de086760abf7f666bb52f9267ff387e\"\u003e\u003ccode\u003eab5260c\u003c/code\u003e\u003c/a\u003e Update clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/09e9dd12c023a02a90d05db46c3c75166525674c\"\u003e\u003ccode\u003e09e9dd1\u003c/code\u003e\u003c/a\u003e Release 10.4.26 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/ec7554060076640e1261e16d3af8f81c3a2b17cf\"\u003e\u003ccode\u003eec75540\u003c/code\u003e\u003c/a\u003e Ignore local patches\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/59601b89582c2ca286a5e2a545ba98fb0004a5aa\"\u003e\u003ccode\u003e59601b8\u003c/code\u003e\u003c/a\u003e Update c8 and clean-publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/06ea9886faa25c3272e2d86b945852e61a6997f7\"\u003e\u003ccode\u003e06ea988\u003c/code\u003e\u003c/a\u003e Release 10.4.25 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/47d8a5bde458ba19e25df455fcda8fcf31b97135\"\u003e\u003ccode\u003e47d8a5b\u003c/code\u003e\u003c/a\u003e Update dependencies and fix Node.js 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/51c596e429567c3a4c8e95123825b5ddd1d4a8b7\"\u003e\u003ccode\u003e51c596e\u003c/code\u003e\u003c/a\u003e Add Node.js 25 and 24 to CI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/autoprefixer/commit/523982391ff26ea30f7c76a601ca3b655e1da543\"\u003e\u003ccode\u003e5239823\u003c/code\u003e\u003c/a\u003e Fix CSS variables in gradients (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1515\"\u003e#1515\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/postcss/autoprefixer/issues/1544\"\u003e#1544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/postcss/autoprefixer/compare/10.4.24...10.4.27\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `electron` from 40.6.0 to 40.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/electron/electron/releases\"\u003eelectron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eelectron v40.8.0\u003c/h2\u003e\n\u003ch1\u003eRelease Notes for v40.8.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ereason\u003c/code\u003e property to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50030\"\u003e#50030\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50029\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed shutdown crash on windows when hidden titlebar is enabled. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50053\"\u003e#50053\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50054\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/50055\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Chromium to 144.0.7559.236. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50060\"\u003e#50060\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eelectron v40.7.0\u003c/h2\u003e\n\u003ch1\u003eRelease Notes for v40.7.0\u003c/h1\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for \u003ccode\u003e--experimental-transform-types\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49883\"\u003e#49883\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49881\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49882\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow dynamically updating menu item labels, sublabels, and icons. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49973\"\u003e#49973\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49972\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003esafeStorage\u003c/code\u003e failing to clean up legacy keychain entries when migrating to suffixed account names on macOS, and fixed first launch creating entries with the wrong (unsuffixed) account name. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49817\"\u003e#49817\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a bug that cause offscreen rendering doesn't have valid screen info and unable to get valid result of related media queries.\n\u003cul\u003e\n\u003cli\u003eAdded webPreference.offscreen.deviceScaleFactor to allow user specify a value, instead of using user's primary display's value. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49681\"\u003e#49681\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFixed a macOS crash when creating a new tab from the tab overview. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49934\"\u003e#49934\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49933\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue on macOS where Universal Links were not delivered to \u003ccode\u003eapp.on('continue-activity')\u003c/code\u003e on cold launch when \u003ccode\u003eNSUserActivity.userInfo\u003c/code\u003e was nil. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50005\"\u003e#50005\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50004\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/50006\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where \u003ccode\u003eVideoFrame\u003c/code\u003e objects returned through \u003ccode\u003econtextBridge\u003c/code\u003e had an incorrect prototype. \u003ca href=\"https://redirect.github.com/electron/electron/pull/50022\"\u003e#50022\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/50021\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/50023\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where malformed custom \u003ccode\u003etoastXml\u003c/code\u003e could cause a Notification crash. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49952\"\u003e#49952\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49953\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed menu bar hiding after a call to \u003ccode\u003ewin.setFullScreen(false)\u003c/code\u003e when not in fullscreen on Linux. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49994\"\u003e#49994\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49996\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed menus to correctly emit \u003ccode\u003emenu-will-close\u003c/code\u003e event when closed after any submenu has been open. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49963\"\u003e#49963\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49964\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Chromium to 144.0.7559.225. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49928\"\u003e#49928\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated Node.js to v24.14.0. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49939\"\u003e#49939\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eelectron v40.6.1\u003c/h2\u003e\n\u003ch1\u003eRelease Notes for v40.6.1\u003c/h1\u003e\n\u003ch2\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eglobalShortcut\u003c/code\u003e not working on Wayland with \u003ccode\u003eGlobalShortcutsPortal\u003c/code\u003e feature enabled. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49870\"\u003e#49870\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49871\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where making a window fullscreen on Windows, minimizing it and then restoring it broke previous fullscreen state. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49892\"\u003e#49892\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49891\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where menu item enabled state wasn't updated during key equivalent dispatch when the menu was closed on macOS. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49889\"\u003e#49889\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49888\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49890\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where pressing AltGr could activate or focus the menu bar. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49915\"\u003e#49915\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49914\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49916\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed an issue where setting \u003ccode\u003ezoomFactor\u003c/code\u003e in \u003ccode\u003esetWindowOpenHandler\u003c/code\u003e's \u003ccode\u003eoverrideBrowserWindowOptions\u003c/code\u003e had no effect on windows opened via \u003ccode\u003ewindow.open()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49909\"\u003e#49909\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49911\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed draggable regions not updating position when DevTools is docked to the left or right in a frameless window. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49847\"\u003e#49847\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49846\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49848\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed memory leak when setting icons on Linux/GTK. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49898\"\u003e#49898\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49897\"\u003e38\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49896\"\u003e39\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/electron/electron/pull/49895\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed startup crash when V8 sandbox is disabled. \u003ca href=\"https://redirect.github.com/electron/electron/pull/49884\"\u003e#49884\u003c/a\u003e \u003c!-- raw HTML omitted --\u003e(Also in \u003ca href=\"https://redirect.github.com/electron/electron/pull/49504\"\u003e41\u003c/a\u003e)\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eOther Changes\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/electron/electron/commit/de61f6c5e8ae56bc115edbfd7ffd07c85424670c\"\u003e\u003ccode\u003ede61f6c\u003c/code\u003e\u003c/a\u003e feat: show toast dismissal reason on Windows (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50030\"\u003e#50030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/90f85f2bf4a4f65d85f5fc9552d49668d6d98efa\"\u003e\u003ccode\u003e90f85f2\u003c/code\u003e\u003c/a\u003e chore: bump chromium to 144.0.7559.236 (40-x-y) (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50060\"\u003e#50060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/60951cdca94482622931c5e8605cc98561f9fee0\"\u003e\u003ccode\u003e60951cd\u003c/code\u003e\u003c/a\u003e fix: use proper quoting for exe paths and args on Windows (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50075\"\u003e#50075\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/a3022df30f35424b486e39a613f52caed56b925d\"\u003e\u003ccode\u003ea3022df\u003c/code\u003e\u003c/a\u003e build: fix code-signing for MacOS x64 tests (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50072\"\u003e#50072\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/996fbfd6bc17c288b75eb2906ce9bad2b126d2ea\"\u003e\u003ccode\u003e996fbfd\u003c/code\u003e\u003c/a\u003e chore: remove applescript from trash (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50065\"\u003e#50065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/79d1e322816506197e371e83571cf3909e408859\"\u003e\u003ccode\u003e79d1e32\u003c/code\u003e\u003c/a\u003e fix: uaf in non-client hittest during view teardown (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50053\"\u003e#50053\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1598b9116daef641157c557153dc5d3b809fdf13\"\u003e\u003ccode\u003e1598b91\u003c/code\u003e\u003c/a\u003e fix: validate USB device selection against filtered device list (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50048\"\u003e#50048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/68cd11118d0763c20eb859e97ab1bec91952ad3a\"\u003e\u003ccode\u003e68cd111\u003c/code\u003e\u003c/a\u003e fix: use setter's creation context when proxying setter in OverrideGlobalProp...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1e2d5902a5a0153df031e95ef36e817b4cdb32a0\"\u003e\u003ccode\u003e1e2d590\u003c/code\u003e\u003c/a\u003e fix: bind offscreen paint callback to child \u003ccode\u003eWebContents\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50024\"\u003e#50024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/electron/electron/commit/1bbe8c9610cb64e37d5db124ac56a48388f3f5a1\"\u003e\u003ccode\u003e1bbe8c9\u003c/code\u003e\u003c/a\u003e fix: use destination context when wrapping VideoFrame in contextBridge (\u003ca href=\"https://redirect.github.com/electron/electron/issues/50022\"\u003e#50022\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/electron/electron/compare/v40.6.0...v40.8.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.0.1 to 10.0.3\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.0.3\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e511b58d5ecd63a232b87743614867f4eaadbba4\"\u003e\u003ccode\u003ee511b58\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20595\"\u003e#20595\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4c9cf9b8dc5642de555a09295933464080d722a\"\u003e\u003ccode\u003ef4c9cf9\u003c/code\u003e\u003c/a\u003e fix: include variable name in \u003ccode\u003eno-useless-assignment\u003c/code\u003e message (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20581\"\u003e#20581\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ee9ff31cee13712d2be2a6b5c0a4a54449fe9fe1\"\u003e\u003ccode\u003eee9ff31\u003c/code\u003e\u003c/a\u003e fix: update dependency minimatch to ^10.2.4 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20562\"\u003e#20562\u003c/a\u003e) (Milos Djermanovic)\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/9fc31b03ef05abfc4f0f449b22947029d51a72f6\"\u003e\u003ccode\u003e9fc31b0\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/4efaa367c62d5a45dd21e246e4a506e11dd51758\"\u003e\u003ccode\u003e4efaa36\u003c/code\u003e\u003c/a\u003e docs: add info box for \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20570\"\u003e#20570\u003c/a\u003e) (DesselBane)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/23b2759dd5cd70976ab2e8f4a1cf86ffe4b9f65d\"\u003e\u003ccode\u003e23b2759\u003c/code\u003e\u003c/a\u003e docs: add v10 migration guide link to Use docs index (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20577\"\u003e#20577\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/80259a9b0d9e29596a5ef0e1e5269031636cacdb\"\u003e\u003ccode\u003e80259a9\u003c/code\u003e\u003c/a\u003e docs: Remove deprecated eslintrc documentation files (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20472\"\u003e#20472\u003c/a\u003e) (Copilot)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9b9b4baf7f0515d28290464ea754d7e7dc350395\"\u003e\u003ccode\u003e9b9b4ba\u003c/code\u003e\u003c/a\u003e docs: fix typo in no-await-in-loop documentation (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20575\"\u003e#20575\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e7d72a77e5e1277690a505160137aebd5985909a\"\u003e\u003ccode\u003ee7d72a7\u003c/code\u003e\u003c/a\u003e docs: document TypeScript 5.3 minimum supported version (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20547\"\u003e#20547\u003c/a\u003e) (sethamus)\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/ef8fb924bfabc2e239b46b2d7b3c37319b03084e\"\u003e\u003ccode\u003eef8fb92\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e8f21040f675753e92df8e04f2dbd03addb92985\"\u003e\u003ccode\u003ee8f2104\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.4 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5cd1604cea5734bc235155a1a1add9f08ae83370\"\u003e\u003ccode\u003e5cd1604\u003c/code\u003e\u003c/a\u003e refactor: simplify isCombiningCharacter helper (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20524\"\u003e#20524\u003c/a\u003e) (Huáng Jùnliàng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/70ff1d07a8e7eba9e70b67ea55fcf2e47cdc9b2d\"\u003e\u003ccode\u003e70ff1d0\u003c/code\u003e\u003c/a\u003e chore: eslint-config-eslint require Node \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20586\"\u003e#20586\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e32df71a569d5f4aca13079dedd4ae76ea05168a\"\u003e\u003ccode\u003ee32df71\u003c/code\u003e\u003c/a\u003e chore: update eslint-plugin-eslint-comments, remove legacy-peer-deps (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20576\"\u003e#20576\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/53ca6eeed87262ebddd20636107f486badabcc1f\"\u003e\u003ccode\u003e53ca6ee\u003c/code\u003e\u003c/a\u003e chore: disable \u003ccode\u003eeslint-comments/no-unused-disable\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20578\"\u003e#20578\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e1218957452e223af27ace1f9d031ab421aec08f\"\u003e\u003ccode\u003ee121895\u003c/code\u003e\u003c/a\u003e ci: pin Node.js 25.6.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20559\"\u003e#20559\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/efc5aef2f9a05f01d5cad53dcb91e7f2c575e295\"\u003e\u003ccode\u003eefc5aef\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003etsconfig.json\u003c/code\u003e in \u003ccode\u003eeslint-config-eslint\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20551\"\u003e#20551\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.2\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/2b723616a4daeacd4605f11b4d087d4a7cae5c74\"\u003e\u003ccode\u003e2b72361\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eajv\u003c/code\u003e to \u003ccode\u003e6.14.0\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20537\"\u003e#20537\u003c/a\u003e) (루밀LuMir)\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/13eeedbbd16218b0da1425b78cb284937fd964ca\"\u003e\u003ccode\u003e13eeedb\u003c/code\u003e\u003c/a\u003e docs: link rule type explanation to CLI option --fix-type (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20548\"\u003e#20548\u003c/a\u003e) (Mike McCready)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/98cbf6ba53a1fb2028d25078c7049a538d0e392c\"\u003e\u003ccode\u003e98cbf6b\u003c/code\u003e\u003c/a\u003e docs: update migration guide per Program range change (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20534\"\u003e#20534\u003c/a\u003e) (Huáng Jùnliàng)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/61a24054411fa56ce74bef554846caa9d8cb01f5\"\u003e\u003ccode\u003e61a2405\u003c/code\u003e\u003c/a\u003e docs: add missing semicolon in vars-on-top rule example (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20533\"\u003e#20533\u003c/a\u003e) (Abilash)\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/951223b29669885643f7854d7c824288ba962d7e\"\u003e\u003ccode\u003e951223b\u003c/code\u003e\u003c/a\u003e chore: update dependency \u003ccode\u003e@​eslint/eslintrc\u003c/code\u003e to ^3.3.4 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20553\"\u003e#20553\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6aa1afe6694f3fd7f82116109a5ef2ad18ece074\"\u003e\u003ccode\u003e6aa1afe\u003c/code\u003e\u003c/a\u003e chore: update dependency eslint-plugin-jsdoc to ^62.7.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20536\"\u003e#20536\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\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/bfce7eaa0ec5d6591fd247b7ff57b51e45fb88a1\"\u003e\u003ccode\u003ebfce7ea\u003c/code\u003e\u003c/a\u003e 10.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d44ced84bb00b1df3c616255f28d036089703ed8\"\u003e\u003ccode\u003ed44ced8\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e511b58d5ecd63a232b87743614867f4eaadbba4\"\u003e\u003ccode\u003ee511b58\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20595\"\u003e#20595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ef8fb924bfabc2e239b46b2d7b3c37319b03084e\"\u003e\u003ccode\u003eef8fb92\u003c/code\u003e\u003c/a\u003e chore: package.json update for eslint-config-eslint release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e8f21040f675753e92df8e04f2dbd03addb92985\"\u003e\u003ccode\u003ee8f2104\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5cd1604cea5734bc235155a1a1add9f08ae83370\"\u003e\u003ccode\u003e5cd1604\u003c/code\u003e\u003c/a\u003e refactor: simplify isCombiningCharacter helper (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20524\"\u003e#20524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/9fc31b03ef05abfc4f0f449b22947029d51a72f6\"\u003e\u003ccode\u003e9fc31b0\u003c/code\u003e\u003c/a\u003e docs: Update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/70ff1d07a8e7eba9e70b67ea55fcf2e47cdc9b2d\"\u003e\u003ccode\u003e70ff1d0\u003c/code\u003e\u003c/a\u003e chore: eslint-config-eslint require Node \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20586\"\u003e#20586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f4c9cf9b8dc5642de555a09295933464080d722a\"\u003e\u003ccode\u003ef4c9cf9\u003c/code\u003e\u003c/a\u003e fix: include variable name in \u003ccode\u003eno-useless-assignment\u003c/code\u003e message (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20581\"\u003e#20581\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4efaa367c62d5a45dd21e246e4a506e11dd51758\"\u003e\u003ccode\u003e4efaa36\u003c/code\u003e\u003c/a\u003e docs: add info box for \u003ccode\u003eeslint-plugin-eslint-comments\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20570\"\u003e#20570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v10.0.1...v10.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint-plugin-react-refresh` from 0.5.0 to 0.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases\"\u003eeslint-plugin-react-refresh's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (actually fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark ESLint v10 as supported\u003c/li\u003e\n\u003cli\u003eSupport false positives with TypeScript function overloading (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\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/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md\"\u003eeslint-plugin-react-refresh's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (actually fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.5.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMark ESLint v10 as supported\u003c/li\u003e\n\u003cli\u003eSupport false positives with TypeScript function overloading (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport nested function calls for extraHOCs (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\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/ArnaudBarre/eslint-plugin-react-refresh/commit/c0317bfe447d1f014e5e0bedcdfe77e50343c871\"\u003e\u003ccode\u003ec0317bf\u003c/code\u003e\u003c/a\u003e Fix support for nested function calls for extraHOCs [publish]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/commit/42a1805ef5c18354e7b4cfe9db48891f6e2a00f2\"\u003e\u003ccode\u003e42a1805\u003c/code\u003e\u003c/a\u003e Explicit v10 support (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/106\"\u003e#106\u003c/a\u003e) [publish]\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/commit/199793e0d65ef30d24aadf077ed994f582264724\"\u003e\u003ccode\u003e199793e\u003c/code\u003e\u003c/a\u003e Support nested function calls for extraHOCs (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/104\"\u003e#104\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/commit/26b3c1525e7008545dee68b2deb4601802b88ade\"\u003e\u003ccode\u003e26b3c15\u003c/code\u003e\u003c/a\u003e Support false positives with TypeScript function overloading (fixes \u003ca href=\"https://redirect.github.com/ArnaudBarre/eslint-plugin-react-refresh/issues/105\"\u003e#105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.5.0...v0.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `globals` from 17.3.0 to 17.4.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.4.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate globals (2026-03-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/338\"\u003e#338\u003c/a\u003e)  d43a051\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0\"\u003ehttps://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.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/a9cfd7493fb701474d4dc946283c7b9d63d64134\"\u003e\u003ccode\u003ea9cfd74\u003c/code\u003e\u003c/a\u003e 17.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sindresorhus/globals/commit/d43a051c48fbb8c549bb98a7cf294ba84680a7a1\"\u003e\u003ccode\u003ed43a051\u003c/code\u003e\u003c/a\u003e Update globals (2026-03-01) (\u003ca href=\"https://redirect.github.com/sindresorhus/globals/issues/338\"\u003e#338\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `lint-staged` from 16.2.7 to 16.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/lint-staged/lint-staged/releases\"\u003elint-staged's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev16.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1735\"\u003e#1735\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf\"\u003e\u003ccode\u003e2adaf6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Hide the extra \u003ccode\u003ecmd\u003c/code\u003e window on Windows by spawning tasks without the \u003ccode\u003edetached\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1729\"\u003e#1729\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280\"\u003e\u003ccode\u003ecd5d762\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003enano-spawn\u003c/code\u003e as a dependency from \u003ccode\u003epackage.json\u003c/code\u003e as it was replaced with \u003ccode\u003etinyexec\u003c/code\u003e and is no longer used.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev16.3.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/lint-staged/lint-staged/pull/1698\"\u003e#1698\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547\"\u003e\u003ccode\u003efeda37a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Run external processes with \u003ca href=\"https://github.com/tinylibs/tinyexec\"\u003e\u003ccode\u003etinyexec\u003c/code\u003e\u003c/a\u003e instead of \u003ca href=\"https://github.com/sindresorhus/nano-spawn\"\u003e\u003ccode\u003enano-spawn\u003c/code\u003e\u003c/a\u003e. \u003ccode\u003enano-spawn\u003c/code\u003e replaced \u003ca href=\"https://github.com/sindresorhus/execa\"\u003e\u003ccode\u003eexeca\u003c/code\u003e\u003c/a\u003e in \u003cem\u003elint-staged\u003c/em\u003e version 16 to limit the amount of npm dependencies required, but caused some unknown issues related to spawning tasks. Let's hope \u003ccode\u003etinyexec\u003c/code\u003e improves the situation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1699\"\u003e#1699\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71\"\u003e\u003ccode\u003e1346d16\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003epidtree\u003c/code\u003e as a dependency. When a task fails, its sub-processes are killed more efficiently via the process group on Unix systems, and the \u003ccode\u003etaskkill\u003c/code\u003e command on Windows.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1726\"\u003e#1726\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d\"\u003e\u003ccode\u003e87467aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Incorrect brace expansions like \u003ccode\u003e*.{js}\u003c/code\u003e (\u003cem\u003enothing to expand\u003c/em\u003e) are detected exhaustively, instead of just a single pass.\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/lint-staged/lint-staged/blob/main/CHANGELOG.md\"\u003elint-staged's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e16.3.2\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1735\"\u003e#1735\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf\"\u003e\u003ccode\u003e2adaf6c\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Hide the extra \u003ccode\u003ecmd\u003c/code\u003e window on Windows by spawning tasks without the \u003ccode\u003edetached\u003c/code\u003e option.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e16.3.1\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1729\"\u003e#1729\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280\"\u003e\u003ccode\u003ecd5d762\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003enano-spawn\u003c/code\u003e as a dependency from \u003ccode\u003epackage.json\u003c/code\u003e as it was replaced with \u003ccode\u003etinyexec\u003c/code\u003e and is no longer used.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e16.3.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/lint-staged/lint-staged/pull/1698\"\u003e#1698\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/feda37aa590789e847f32a4aabc346af1d79c547\"\u003e\u003ccode\u003efeda37a\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Run external processes with \u003ca href=\"https://github.com/tinylibs/tinyexec\"\u003e\u003ccode\u003etinyexec\u003c/code\u003e\u003c/a\u003e instead of \u003ca href=\"https://github.com/sindresorhus/nano-spawn\"\u003e\u003ccode\u003enano-spawn\u003c/code\u003e\u003c/a\u003e. \u003ccode\u003enano-spawn\u003c/code\u003e replaced \u003ca href=\"https://github.com/sindresorhus/execa\"\u003e\u003ccode\u003eexeca\u003c/code\u003e\u003c/a\u003e in \u003cem\u003elint-staged\u003c/em\u003e version 16 to limit the amount of npm dependencies required, but caused some unknown issues related to spawning tasks. Let's hope \u003ccode\u003etinyexec\u003c/code\u003e improves the situation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1699\"\u003e#1699\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/1346d16387e188911ef64e8bad6b8a6252cb6d71\"\u003e\u003ccode\u003e1346d16\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Remove \u003ccode\u003epidtree\u003c/code\u003e as a dependency. When a task fails, its sub-processes are killed more efficiently via the process group on Unix systems, and the \u003ccode\u003etaskkill\u003c/code\u003e command on Windows.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/lint-staged/lint-staged/pull/1726\"\u003e#1726\u003c/a\u003e \u003ca href=\"https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d\"\u003e\u003ccode\u003e87467aa\u003c/code\u003e\u003c/a\u003e Thanks \u003ca href=\"https://github.com/iiroj\"\u003e\u003ccode\u003e@​iiroj\u003c/code\u003e\u003c/a\u003e! - Incorrect brace expansions like \u003ccode\u003e*.{js}\u003c/code\u003e (\u003cem\u003enothing to expand\u003c/em\u003e) are detected exhaustively, instead of just a single pass.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/dfd6a7a4afa1147c9b6ad7d441b1f6278da499c5\"\u003e\u003ccode\u003edfd6a7a\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2adaf6c3a76152abddbf23b749dfa5d62982f3cf\"\u003e\u003ccode\u003e2adaf6c\u003c/code\u003e\u003c/a\u003e fix(Windows): do not spawn  tasks as detached since it opens a cmd window on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/60957ce617b2b7a6752bb6cf82298ba151affb6c\"\u003e\u003ccode\u003e60957ce\u003c/code\u003e\u003c/a\u003e docs: add CONTRIBUTING.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/2a74cd292f4853b6224a4cefb3d7ed1bd49221a1\"\u003e\u003ccode\u003e2a74cd2\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/cd5d762c288bcfe36274c32f018cea97dfe11280\"\u003e\u003ccode\u003ecd5d762\u003c/code\u003e\u003c/a\u003e refactor: remove \u003ccode\u003enano-spawn\u003c/code\u003e dependency completely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/e342cab1f72741cf73268c3bc4989f00d999cbe7\"\u003e\u003ccode\u003ee342cab\u003c/code\u003e\u003c/a\u003e build(deps): move nano-spawn to dev\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/9aa2cd7f8b588319104a87f999a373552b19cedf\"\u003e\u003ccode\u003e9aa2cd7\u003c/code\u003e\u003c/a\u003e chore(changeset): release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/0c387bcf450f1e082629771d8156daa5cf0b68d2\"\u003e\u003ccode\u003e0c387bc\u003c/code\u003e\u003c/a\u003e test: make long-running task longer because of GitHub Actions slowness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/87467aaa76e1edc2547f3f3d462a4495afa5337d\"\u003e\u003ccode\u003e87467aa\u003c/code\u003e\u003c/a\u003e refactor: detect incorrect brace expansion exhaustively\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/lint-staged/lint-staged/commit/dceabc608f6e0a5e7beb2fab74520d1577c6b8e6\"\u003e\u003ccode\u003edceabc6\u003c/code\u003e\u003c/a\u003e ci: run \u003ccode\u003enpm audit\u003c/code\u003e in GitHub Actions\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/lint-staged/lint-staged/compare/v16.2.7...v16.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `postcss` from 8.5.6 to 8.5.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/releases\"\u003epostcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/postcss/postcss/blob/main/CHANGELOG.md\"\u003epostcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.5.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ccode\u003eProcessor#version\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.5.7\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImproved source map annotation cleaning performance (by CodeAnt AI).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/65de53745f7b8006a335199995f2dfc6d1b77d92\"\u003e\u003ccode\u003e65de537\u003c/code\u003e\u003c/a\u003e Release 8.5.8 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/b2c6d9786e742eecb5a2b48ca5b9dc9daa30b24c\"\u003e\u003ccode\u003eb2c6d97\u003c/code\u003e\u003c/a\u003e Run git hook register\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/0ae0a492e9259783bca8e1de5a06d474880ce552\"\u003e\u003ccode\u003e0ae0a49\u003c/code\u003e\u003c/a\u003e Update Processor#version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/6ee9f14d3a19d06583ab887412553f7e7189709d\"\u003e\u003ccode\u003e6ee9f14\u003c/code\u003e\u003c/a\u003e Release 8.5.7 version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/3fbc95172a26cd40db1a1d18a970a2edd4244c44\"\u003e\u003ccode\u003e3fbc951\u003c/code\u003e\u003c/a\u003e Fix uvu Node.js 25 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/52db53ea4339b117e4d41ddd1b65bd914a89b44e\"\u003e\u003ccode\u003e52db53e\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/497daef7972d5c7634e30a28c3c1368587df446d\"\u003e\u003ccode\u003e497daef\u003c/code\u003e\u003c/a\u003e Speed up source map annotation cleaning by moving from RegExp\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/41e739a940963c87519c8cc532ed41287129431b\"\u003e\u003ccode\u003e41e739a\u003c/code\u003e\u003c/a\u003e Remove banner\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/1329142fc7d4b965bf9819ffa27ac2248f07ab20\"\u003e\u003ccode\u003e1329142\u003c/code\u003e\u003c/a\u003e chore: speed up space-only string check in lib/parser.js (\u003ca href=\"https://redirect.github.com/postcss/postcss/issues/2064\"\u003e#2064\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/postcss/postcss/commit/23beff9a7c1da1639b0c159df869829ff7ae1ab4\"\u003e\u003ccode\u003e23beff9\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/postcss/postcss/compare/8.5.6...8.5.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.29 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` 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/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.1\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.1] - 2026-02-23\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAllow trailing dash in functional utility names for backwards compatibility (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly detect classes containing \u003ccode\u003e.\u003c/code\u003e characters within curly braces in MDX files (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19711\"\u003e#19711\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/tailwindlabs/tailwindcss/commit/1dce64ee7ec2e414c845b4e268ac3b9b89aaf0c8\"\u003e\u003ccode\u003e1dce64e\u003c/code\u003e\u003c/a\u003e 4.2.1 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19714\"\u003e#19714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d15d92ca60b2c06a11c2db6a24dfcca18147de59\"\u003e\u003ccode\u003ed15d92c\u003c/code\u003e\u003c/a\u003e Allow trailing dash in functional utility names (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19696\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/tailwindcss\"\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/PixelDroid19/CheeseJs/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/PixelDroid19%2FCheeseJs/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"0.0.28","new_version":"0.0.30","update_type":"patch","path":null,"pr_created_at":"2026-03-09T03:03:52.000Z","version_change":"0.0.28 → 0.0.30","issue":{"uuid":"4043046205","node_id":"PR_kwDORTavO87I8Uwl","number":7,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 20 updates","user":"dependabot[bot]","labels":["dependencies","javascript"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-16T03:01:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-09T03:03:52.000Z","updated_at":"2026-03-16T03:01:59.000Z","time_to_close":604685,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":20,"packages":[{"name":"react-doctor","old_version":"0.0.28","new_version":"0.0.30","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"turbo","old_version":"2.8.10","new_version":"2.8.14","repository_url":"https://github.com/vercel/turborepo"},{"name":"@aws-sdk/client-s3","old_version":"3.993.0","new_version":"3.1004.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@aws-sdk/s3-request-presigner","old_version":"3.993.0","new_version":"3.1004.0","repository_url":"https://github.com/aws/aws-sdk-js-v3"},{"name":"@prisma/client","old_version":"5.22.0","new_version":"7.4.2","repository_url":"https://github.com/prisma/prisma"},{"name":"dotenv","old_version":"16.6.1","new_version":"17.3.1","repository_url":"https://github.com/motdotla/dotenv"},{"name":"express","old_version":"4.22.1","new_version":"5.2.1","repository_url":"https://github.com/expressjs/express"},{"name":"@types/express","old_version":"4.17.25","new_version":"5.0.6","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"express-rate-limit","old_version":"7.5.1","new_version":"8.3.0","repository_url":"https://github.com/express-rate-limit/express-rate-limit"},{"name":"node-cron","old_version":"3.0.3","new_version":"4.2.1","repository_url":"https://github.com/merencia/node-cron"},{"name":"zod","old_version":"3.25.76","new_version":"4.3.6","repository_url":"https://github.com/colinhacks/zod"},{"name":"@types/node","old_version":"20.19.33","new_version":"25.3.5","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"prisma","old_version":"5.22.0","new_version":"7.4.2","repository_url":"https://github.com/prisma/prisma"},{"name":"next","old_version":"16.1.0","new_version":"16.1.6","repository_url":"https://github.com/vercel/next.js"},{"name":"react","old_version":"19.2.0","new_version":"19.2.4","repository_url":"https://github.com/facebook/react"},{"name":"react-dom","old_version":"19.2.0","new_version":"19.2.4","repository_url":"https://github.com/facebook/react"},{"name":"swr","old_version":"2.4.0","new_version":"2.4.1","repository_url":"https://github.com/vercel/swr"},{"name":"autoprefixer","old_version":"10.4.24","new_version":"10.4.27","repository_url":"https://github.com/postcss/autoprefixer"},{"name":"postcss","old_version":"8.5.6","new_version":"8.5.8","repository_url":"https://github.com/postcss/postcss"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.2.1","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the dependencies group with 20 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) | `0.0.28` | `0.0.30` |\n| [turbo](https://github.com/vercel/turborepo) | `2.8.10` | `2.8.14` |\n| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.993.0` | `3.1004.0` |\n| [@aws-sdk/s3-request-presigner](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner) | `3.993.0` | `3.1004.0` |\n| [@prisma/client](https://github.com/prisma/prisma/tree/HEAD/packages/client) | `5.22.0` | `7.4.2` |\n| [dotenv](https://github.com/motdotla/dotenv) | `16.6.1` | `17.3.1` |\n| [express](https://github.com/expressjs/express) | `4.22.1` | `5.2.1` |\n| [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) | `4.17.25` | `5.0.6` |\n| [express-rate-limit](https://github.com/express-rate-limit/express-rate-limit) | `7.5.1` | `8.3.0` |\n| [node-cron](https://github.com/merencia/node-cron) | `3.0.3` | `4.2.1` |\n| [zod](https://github.com/colinhacks/zod) | `3.25.76` | `4.3.6` |\n| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `20.19.33` | `25.3.5` |\n| [prisma](https://github.com/prisma/prisma/tree/HEAD/packages/cli) | `5.22.0` | `7.4.2` |\n| [next](https://github.com/vercel/next.js) | `16.1.0` | `16.1.6` |\n| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.0` | `19.2.4` |\n| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.0` | `19.2.4` |\n| [swr](https://github.com/vercel/swr) | `2.4.0` | `2.4.1` |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |\n| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |\n| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `3.4.19` | `4.2.1` |\n\n\nUpdates `react-doctor` from 0.0.28 to 0.0.30\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.30\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix issues\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `turbo` from 2.8.10 to 2.8.14\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.8.14-canary.9\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\u003eperf: Fire-and-forget telemetry and analytics HTTP flushes on shutdown 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/12162\"\u003evercel/turborepo#12162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eperf: Defer lockfile await until after internal dependency resolution 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/12164\"\u003evercel/turborepo#12164\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003erefactor: Extract \u003ccode\u003eturborepo-query-api\u003c/code\u003e trait crate for compile-time decoupling 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/12165\"\u003evercel/turborepo#12165\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Include version, platform, and CPU count in Chrome trace profiles 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/12166\"\u003evercel/turborepo#12166\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Remove bespoke AI prompts from documentation pages 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/12167\"\u003evercel/turborepo#12167\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Add comprehensive path traversal tests for cache archive 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/12169\"\u003evercel/turborepo#12169\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: Add regression tests and \u003ccode\u003eOutputWatcher\u003c/code\u003e trait to prepare for daemon removal from \u003ccode\u003eturbo watch\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/12171\"\u003evercel/turborepo#12171\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.8.14-canary.8...v2.8.14-canary.9\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.8...v2.8.14-canary.9\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.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\u003efix: Preserve deeply nested workspace deps during npm lockfile pruning 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/12146\"\u003evercel/turborepo#12146\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.8.14-canary.4...v2.8.14-canary.5\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.4...v2.8.14-canary.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.4\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\u003efeat: Add \u003ccode\u003erunAttributes\u003c/code\u003e config to OTel metrics for cardinality control by \u003ca href=\"https://github.com/bkonkle\"\u003e\u003ccode\u003e@​bkonkle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/vercel/turborepo/pull/12144\"\u003evercel/turborepo#12144\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.8.14-canary.3...v2.8.14-canary.4\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.3...v2.8.14-canary.4\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.3\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\u003efix: Treat Bun runtime modules as builtins in Boundaries 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/12141\"\u003evercel/turborepo#12141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat: Add \u003ccode\u003efutureFlags.longerSignatureKey\u003c/code\u003e to enforce minimum HMAC key length 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/12142\"\u003evercel/turborepo#12142\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.8.14-canary.2...v2.8.14-canary.3\"\u003ehttps://github.com/vercel/turborepo/compare/v2.8.14-canary.2...v2.8.14-canary.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eTurborepo v2.8.14-canary.2\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\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/c8fe2c1b3d7cbed1a54b3174abc953b251178a89\"\u003e\u003ccode\u003ec8fe2c1\u003c/code\u003e\u003c/a\u003e publish 2.8.14 to registry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/27e8e67d4994c4ee70d81ffbea55bb13e30b811c\"\u003e\u003ccode\u003e27e8e67\u003c/code\u003e\u003c/a\u003e release(turborepo): 2.8.14-canary.9 (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12173\"\u003e#12173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/0efbe300169c6aeffa4167d60a9a1c5b90308db5\"\u003e\u003ccode\u003e0efbe30\u003c/code\u003e\u003c/a\u003e test: Add regression tests and \u003ccode\u003eOutputWatcher\u003c/code\u003e trait to prepare for daemon re...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/6fbd5bb402c15c1c3dcd8137d18dfc0aef199766\"\u003e\u003ccode\u003e6fbd5bb\u003c/code\u003e\u003c/a\u003e test: Add comprehensive path traversal tests for cache archive (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12169\"\u003e#12169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/c456ad34b29a799ba98167097265b0a5a84557cf\"\u003e\u003ccode\u003ec456ad3\u003c/code\u003e\u003c/a\u003e ci: Remove redundant rust_check job from lint workflow (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12168\"\u003e#12168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/ebe5e87d8c3b87e64144f52a0ac6897404bc34c2\"\u003e\u003ccode\u003eebe5e87\u003c/code\u003e\u003c/a\u003e docs: Remove bespoke AI prompts from documentation pages (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12167\"\u003e#12167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/716d8864bfcfc4b0082140a5008265013e395ac8\"\u003e\u003ccode\u003e716d886\u003c/code\u003e\u003c/a\u003e feat: Include version, platform, and CPU count in Chrome trace profiles (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12166\"\u003e#12166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/7acfdc438809b3d88b09f6479175b900f446fe5e\"\u003e\u003ccode\u003e7acfdc4\u003c/code\u003e\u003c/a\u003e refactor: Extract \u003ccode\u003eturborepo-query-api\u003c/code\u003e trait crate for compile-time decoupli...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/14dd839ad03baf001ad52d1b6a445745e279e536\"\u003e\u003ccode\u003e14dd839\u003c/code\u003e\u003c/a\u003e perf: Defer lockfile await until after internal dependency resolution (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12164\"\u003e#12164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vercel/turborepo/commit/6923c528b6141a9591c0246f619b8e55c447bf6d\"\u003e\u003ccode\u003e6923c52\u003c/code\u003e\u003c/a\u003e perf: Fire-and-forget telemetry and analytics HTTP flushes on shutdown (\u003ca href=\"https://redirect.github.com/vercel/turborepo/issues/12162\"\u003e#12162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vercel/turborepo/compare/v2.8.10...v2.8.14\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/client-s3` from 3.993.0 to 3.1004.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e\u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1004.0\u003c/h2\u003e\n\u003ch4\u003e3.1004.0(2026-03-06)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecodegen:\u003c/strong\u003e  smithy-aws-typescript-codegen 0.46.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7825\"\u003e#7825\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9652a4b1b1796b35ef24fd7be4c13ed6eb1deb24\"\u003e9652a4b1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-06 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8c6015c0d1c17e8807e3be1326377bcf2176efdd\"\u003e8c6015c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-gameliftstreams:\u003c/strong\u003e  Added new Gen6 stream classes based on the EC2 G6f instance family. These stream classes provide cost-optimized options for streaming well-optimized or lower-fidelity games on Windows environments. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3ce882b68e004b3589f882c1d5fbb9443e07b5b1\"\u003e3ce882b6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock:\u003c/strong\u003e  Amazon Bedrock Guardrails account-level enforcement APIs now support lists for model inclusion and exclusion from guardrail enforcement. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/63b3598691d116dadd5c389362be5369d5901a39\"\u003e63b35986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  Amazon Connect now supports the ability to programmatically configure and run automated tests for contact center experiences for Chat. Integrate testing into CICD pipelines, run multiple tests at scale, and retrieve results via API to automate validation of chat interactions and workflows. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/696614ae8195f9ba2f9d3366e2d27e3aacf45726\"\u003e696614ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bcm-data-exports:\u003c/strong\u003e  Fixed wrong endpoint resolutions in few regions. Added AWS CFN resource schema for BCM Data Exports. Added max value validation for pagination parameter. Fixed ARN format validation for BCM Data Exports resources. Updated size constraints for table properties. Added AccessDeniedException error. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/23fdf9940dbeb9fab236e565d4ef529779a19862\"\u003e23fdf994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports cost scale factors for farms, enabling studios to adjust reported costs to reflect their actual rendering economics. Adjusted costs are reflected in Deadline Cloud's Usage Explorer and Budgets. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/16f6d5104bf57a9d034affe12f33d4f424c7ed0f\"\u003e16f6d510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appintegrations:\u003c/strong\u003e  This release adds support for webhooks, allowing customers to create an Event Integration with a webhook source. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c86ed4e1a4295d2654b2cc1ef8e195a6a97bcb58\"\u003ec86ed4e1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agentcore-control:\u003c/strong\u003e  Adds support for streaming memory records in AgentCore Memory (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/174685704e07d5b8cbb6414cd6d9f2f6a85736c3\"\u003e17468570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Adds support for longer email message header values, increasing the maximum length from 870 to 995 characters for RFC 5322 compliance. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3a573039fa760964ce4b8aef17b46b96183f3087\"\u003e3a573039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e  fix package release ordering (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7829\"\u003e#7829\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/cc6da58f9b94de5e1bd45b6486fecdf222f669d1\"\u003ecc6da58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emiddleware-user-agent:\u003c/strong\u003e  use retry strategy mode property instead of legacy fallback (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7811\"\u003e#7811\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/db7863372abba6035e12aaf8a015f9f6bc020bbb\"\u003edb786337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1004.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1003.0\u003c/h2\u003e\n\u003ch4\u003e3.1003.0(2026-03-05)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003ebump '@smithy/*' dependencies (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7822\"\u003e#7822\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e8ddd5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eset downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7817\"\u003e#7817\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e03dad66b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003estrip trailing periods when the last character is non-alphanumeric (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7821\"\u003e#7821\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6b5b50b248cceac0353ad6b2dd3be974db27c6a4\"\u003e6b5b50b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esort missed package.json files (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7820\"\u003e#7820\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/297b56431a1c8fe0563a55d35dd80c02e9bfb386\"\u003e297b5643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einclude deprecated-since in generated tsdoc (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7815\"\u003e#7815\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/17ecb20a27d0c2b7968db1edf3b453e4a4732849\"\u003e17ecb20a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-05 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e9a8d8dea104165b03857c991d4e9e8ae4dec3a3\"\u003ee9a8d8de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Added MALICIOUS FILE to IndicatorType enum in MDC Sequence (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bb9d466281db2b1023129d249ed576bd94730b18\"\u003ebb9d4662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-savingsplans:\u003c/strong\u003e  Added support for OpenSearch and Neptune Analytics to Database Savings Plans. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9e0639134fff8635622886260fb2127daa8778de\"\u003e9e063913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for S3 Bucket Ownership validation for SageMaker Managed MLflow. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b62165643e03cc036e13cd463cde57116f36b38b\"\u003eb6216564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connecthealth:\u003c/strong\u003e  Connect-Health SDK is AWS's unified SDK for the Amazon Connect Health offering. It allows healthcare developers to integrate purpose-built agents - such as patient insights, ambient documentation, and medical coding - into their existing applications, including EHRs, telehealth, and revenue cycle. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/454c6cb7d73b92d737c008a9d9ef7fdb6365d647\"\u003e454c6cb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mpa:\u003c/strong\u003e  Updates to multi-party approval (MPA) service to add support for approval team baseline operations. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e95815438c56f42e2ffa47962c1aaa3c82afeef8\"\u003ee9581543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Added metadata field to CapacityAllocation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/d7cce1c2a1a299c49f16f9bc02ee88d904d723de\"\u003ed7cce1c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md\"\u003e\u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1003.0...v3.1004.0\"\u003e3.1004.0\u003c/a\u003e (2026-03-06)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1002.0...v3.1003.0\"\u003e3.1003.0\u003c/a\u003e (2026-03-05)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1001.0...v3.1002.0\"\u003e3.1002.0\u003c/a\u003e (2026-03-04)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1000.0...v3.1001.0\"\u003e3.1001.0\u003c/a\u003e (2026-03-03)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.999.0...v3.1000.0\"\u003e3.1000.0\u003c/a\u003e (2026-02-27)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.998.0...v3.999.0\"\u003e3.999.0\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/client-s3\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.997.0...v3.998.0\"\u003e3.998.0\u003c/a\u003e (2026-02-25)\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/7c0815232f14789a405ec73195945552d991beb4\"\u003e\u003ccode\u003e7c08152\u003c/code\u003e\u003c/a\u003e Publish v3.1004.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/4c36ea38e9ddc6deacd435c7c590921940f4c9ff\"\u003e\u003ccode\u003e4c36ea3\u003c/code\u003e\u003c/a\u003e Publish v3.1003.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e\u003ccode\u003e8ddd544\u003c/code\u003e\u003c/a\u003e chore: bump '@smithy/*' dependencies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7822\"\u003e#7822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6b5b50b248cceac0353ad6b2dd3be974db27c6a4\"\u003e\u003ccode\u003e6b5b50b\u003c/code\u003e\u003c/a\u003e chore(clients): strip trailing periods when the last character is non-alphanu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e\u003ccode\u003e03dad66\u003c/code\u003e\u003c/a\u003e chore: set downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7817\"\u003e#7817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/1eabedb495b19e9c5fe4b24b9f9e461ba25e648f\"\u003e\u003ccode\u003e1eabedb\u003c/code\u003e\u003c/a\u003e test(clients): ignore prettifying automated snapshot test code (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7819\"\u003e#7819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/17ecb20a27d0c2b7968db1edf3b453e4a4732849\"\u003e\u003ccode\u003e17ecb20\u003c/code\u003e\u003c/a\u003e chore(clients): include deprecated-since in generated tsdoc (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7815\"\u003e#7815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/37f1adc72295176f8d844f5eaa13b427e27b28d6\"\u003e\u003ccode\u003e37f1adc\u003c/code\u003e\u003c/a\u003e test(clients): run client feature tests in browser mode too (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3/issues/7808\"\u003e#7808\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/800431bb02b71bad13537bc615e456df77776b22\"\u003e\u003ccode\u003e800431b\u003c/code\u003e\u003c/a\u003e Publish v3.1002.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b8467bd179319f86804fea08e1b09d3a95166603\"\u003e\u003ccode\u003eb8467bd\u003c/code\u003e\u003c/a\u003e Publish v3.1001.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1004.0/clients/client-s3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@aws-sdk/s3-request-presigner` from 3.993.0 to 3.1004.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/releases\"\u003e\u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1004.0\u003c/h2\u003e\n\u003ch4\u003e3.1004.0(2026-03-06)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ecodegen:\u003c/strong\u003e  smithy-aws-typescript-codegen 0.46.0 (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7825\"\u003e#7825\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9652a4b1b1796b35ef24fd7be4c13ed6eb1deb24\"\u003e9652a4b1\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-06 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8c6015c0d1c17e8807e3be1326377bcf2176efdd\"\u003e8c6015c0\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-gameliftstreams:\u003c/strong\u003e  Added new Gen6 stream classes based on the EC2 G6f instance family. These stream classes provide cost-optimized options for streaming well-optimized or lower-fidelity games on Windows environments. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3ce882b68e004b3589f882c1d5fbb9443e07b5b1\"\u003e3ce882b6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock:\u003c/strong\u003e  Amazon Bedrock Guardrails account-level enforcement APIs now support lists for model inclusion and exclusion from guardrail enforcement. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/63b3598691d116dadd5c389362be5369d5901a39\"\u003e63b35986\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connect:\u003c/strong\u003e  Amazon Connect now supports the ability to programmatically configure and run automated tests for contact center experiences for Chat. Integrate testing into CICD pipelines, run multiple tests at scale, and retrieve results via API to automate validation of chat interactions and workflows. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/696614ae8195f9ba2f9d3366e2d27e3aacf45726\"\u003e696614ae\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bcm-data-exports:\u003c/strong\u003e  Fixed wrong endpoint resolutions in few regions. Added AWS CFN resource schema for BCM Data Exports. Added max value validation for pagination parameter. Fixed ARN format validation for BCM Data Exports resources. Updated size constraints for table properties. Added AccessDeniedException error. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/23fdf9940dbeb9fab236e565d4ef529779a19862\"\u003e23fdf994\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-deadline:\u003c/strong\u003e  AWS Deadline Cloud now supports cost scale factors for farms, enabling studios to adjust reported costs to reflect their actual rendering economics. Adjusted costs are reflected in Deadline Cloud's Usage Explorer and Budgets. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/16f6d5104bf57a9d034affe12f33d4f424c7ed0f\"\u003e16f6d510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-appintegrations:\u003c/strong\u003e  This release adds support for webhooks, allowing customers to create an Event Integration with a webhook source. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/c86ed4e1a4295d2654b2cc1ef8e195a6a97bcb58\"\u003ec86ed4e1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-bedrock-agentcore-control:\u003c/strong\u003e  Adds support for streaming memory records in AgentCore Memory (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/174685704e07d5b8cbb6414cd6d9f2f6a85736c3\"\u003e17468570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sesv2:\u003c/strong\u003e  Adds support for longer email message header values, increasing the maximum length from 870 to 995 characters for RFC 5322 compliance. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/3a573039fa760964ce4b8aef17b46b96183f3087\"\u003e3a573039\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eBug Fixes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003ebuild:\u003c/strong\u003e  fix package release ordering (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7829\"\u003e#7829\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/cc6da58f9b94de5e1bd45b6486fecdf222f669d1\"\u003ecc6da58f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emiddleware-user-agent:\u003c/strong\u003e  use retry strategy mode property instead of legacy fallback (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7811\"\u003e#7811\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/db7863372abba6035e12aaf8a015f9f6bc020bbb\"\u003edb786337\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eFor list of updated packages, view \u003cstrong\u003eupdated-packages.md\u003c/strong\u003e in \u003cstrong\u003eassets-3.1004.0.zip\u003c/strong\u003e\u003c/p\u003e\n\u003ch2\u003ev3.1003.0\u003c/h2\u003e\n\u003ch4\u003e3.1003.0(2026-03-05)\u003c/h4\u003e\n\u003ch5\u003eChores\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003ebump '@smithy/*' dependencies (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7822\"\u003e#7822\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e8ddd5442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eset downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7817\"\u003e#7817\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e03dad66b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003estrip trailing periods when the last character is non-alphanumeric (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7821\"\u003e#7821\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/6b5b50b248cceac0353ad6b2dd3be974db27c6a4\"\u003e6b5b50b2\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003esort missed package.json files (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7820\"\u003e#7820\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/297b56431a1c8fe0563a55d35dd80c02e9bfb386\"\u003e297b5643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003einclude deprecated-since in generated tsdoc (\u003ca href=\"https://redirect.github.com/aws/aws-sdk-js-v3/pull/7815\"\u003e#7815\u003c/a\u003e) (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/17ecb20a27d0c2b7968db1edf3b453e4a4732849\"\u003e17ecb20a\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eNew Features\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eclients:\u003c/strong\u003e  update client endpoints as of 2026-03-05 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e9a8d8dea104165b03857c991d4e9e8ae4dec3a3\"\u003ee9a8d8de\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-guardduty:\u003c/strong\u003e  Added MALICIOUS FILE to IndicatorType enum in MDC Sequence (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/bb9d466281db2b1023129d249ed576bd94730b18\"\u003ebb9d4662\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-savingsplans:\u003c/strong\u003e  Added support for OpenSearch and Neptune Analytics to Database Savings Plans. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/9e0639134fff8635622886260fb2127daa8778de\"\u003e9e063913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-sagemaker:\u003c/strong\u003e  Adds support for S3 Bucket Ownership validation for SageMaker Managed MLflow. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b62165643e03cc036e13cd463cde57116f36b38b\"\u003eb6216564\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-connecthealth:\u003c/strong\u003e  Connect-Health SDK is AWS's unified SDK for the Amazon Connect Health offering. It allows healthcare developers to integrate purpose-built agents - such as patient insights, ambient documentation, and medical coding - into their existing applications, including EHRs, telehealth, and revenue cycle. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/454c6cb7d73b92d737c008a9d9ef7fdb6365d647\"\u003e454c6cb7\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-mpa:\u003c/strong\u003e  Updates to multi-party approval (MPA) service to add support for approval team baseline operations. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e95815438c56f42e2ffa47962c1aaa3c82afeef8\"\u003ee9581543\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eclient-ec2:\u003c/strong\u003e  Added metadata field to CapacityAllocation. (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/d7cce1c2a1a299c49f16f9bc02ee88d904d723de\"\u003ed7cce1c2\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- 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-sdk-js-v3/blob/main/packages/s3-request-presigner/CHANGELOG.md\"\u003e\u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1003.0...v3.1004.0\"\u003e3.1004.0\u003c/a\u003e (2026-03-06)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1002.0...v3.1003.0\"\u003e3.1003.0\u003c/a\u003e (2026-03-05)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1001.0...v3.1002.0\"\u003e3.1002.0\u003c/a\u003e (2026-03-04)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.1000.0...v3.1001.0\"\u003e3.1001.0\u003c/a\u003e (2026-03-03)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.999.0...v3.1000.0\"\u003e3.1000.0\u003c/a\u003e (2026-02-27)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.998.0...v3.999.0\"\u003e3.999.0\u003c/a\u003e (2026-02-26)\u003c/h1\u003e\n\u003cp\u003e\u003cstrong\u003eNote:\u003c/strong\u003e Version bump only for package \u003ccode\u003e@​aws-sdk/s3-request-presigner\u003c/code\u003e\u003c/p\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/compare/v3.997.0...v3.998.0\"\u003e3.998.0\u003c/a\u003e (2026-02-25)\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\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/7c0815232f14789a405ec73195945552d991beb4\"\u003e\u003ccode\u003e7c08152\u003c/code\u003e\u003c/a\u003e Publish v3.1004.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/4c36ea38e9ddc6deacd435c7c590921940f4c9ff\"\u003e\u003ccode\u003e4c36ea3\u003c/code\u003e\u003c/a\u003e Publish v3.1003.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/8ddd54420b62212cf3d797050e924efba1fada28\"\u003e\u003ccode\u003e8ddd544\u003c/code\u003e\u003c/a\u003e chore: bump '@smithy/*' dependencies (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7822\"\u003e#7822\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/03dad66b98363f09d1f0984b670be110caea8f62\"\u003e\u003ccode\u003e03dad66\u003c/code\u003e\u003c/a\u003e chore: set downlevel types to be used in typescript@'\u0026lt;4.5' (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7817\"\u003e#7817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/800431bb02b71bad13537bc615e456df77776b22\"\u003e\u003ccode\u003e800431b\u003c/code\u003e\u003c/a\u003e Publish v3.1002.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/b8467bd179319f86804fea08e1b09d3a95166603\"\u003e\u003ccode\u003eb8467bd\u003c/code\u003e\u003c/a\u003e Publish v3.1001.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ab9e775920c7900a2759c22385091aa88eb6ee15\"\u003e\u003ccode\u003eab9e775\u003c/code\u003e\u003c/a\u003e chore(codegen): upgrade smithy 1.68.0 (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7806\"\u003e#7806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/e373aa8706d305625352a8fdb21cdbaadb1f971b\"\u003e\u003ccode\u003ee373aa8\u003c/code\u003e\u003c/a\u003e Publish v3.1000.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/cd1d49d696f4d2d596d2374943267f3a7074651c\"\u003e\u003ccode\u003ecd1d49d\u003c/code\u003e\u003c/a\u003e Publish v3.999.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commit/ab81c738436db219e5163ccaab953805776b33d6\"\u003e\u003ccode\u003eab81c73\u003c/code\u003e\u003c/a\u003e chore(packages): reapply eslint rules (\u003ca href=\"https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner/issues/7789\"\u003e#7789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/aws/aws-sdk-js-v3/commits/v3.1004.0/packages/s3-request-presigner\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@prisma/client` from 5.22.0 to 7.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/prisma/prisma/releases\"\u003e\u003ccode\u003e@​prisma/client\u003c/code\u003e's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.4.2\u003c/h2\u003e\n\u003cp\u003eToday, we are issuing a 7.4.2 patch release focused on bug fixes and quality improvements.\u003c/p\u003e\n\u003ch2\u003e🛠 Fixes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix a case-insensitive \u003ccode\u003eIN\u003c/code\u003e and \u003ccode\u003eNOT IN\u003c/code\u003e filter regression (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29243\"\u003eprisma/prisma#29243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a query plan mutation issue that resulted in broken cursor queries (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29262\"\u003eprisma/prisma#29262\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an array parameter wrapping issue in push operations (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5784\"\u003eprisma/prisma-engines#5784\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eUint8Array\u003c/code\u003e serialization in nested JSON fields (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29268\"\u003eprisma/prisma#29268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an issue with MySQL joins that relied on non-strict equality (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29251\"\u003eprisma/prisma#29251\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-mariadb\u003c/code\u003e\u003c/strong\u003e: Update text column detection to check for a binary collation (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29238\"\u003eprisma/prisma#29238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-mariadb\u003c/code\u003e\u003c/strong\u003e: Correct \u003ccode\u003erelationJoins\u003c/code\u003e compatibility check for MariaDB 8.x versions (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29246\"\u003eprisma/prisma#29246\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSchema Engine\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix partial index predicate comparison on PostgreSQL and MSSQL (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5780\"\u003eprisma/prisma-engines#5780\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🙏 Huge thanks to our community\u003c/h2\u003e\n\u003cp\u003eMany of the fixes in this release were contributed by our amazing community members. We're grateful for your continued support and contributions that help make Prisma better for everyone!\u003c/p\u003e\n\u003ch2\u003e7.4.1\u003c/h2\u003e\n\u003cp\u003eToday, we are issuing a 7.4.1 patch release focused on bug fixes and quality improvements.\u003c/p\u003e\n\u003ch2\u003e🛠 Fixes\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Client\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix cursor-based pagination regression with parameterised values (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29184\"\u003eprisma/prisma#29184\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve \u003ccode\u003ePrisma.skip\u003c/code\u003e through query extension argument cloning (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29198\"\u003eprisma/prisma#29198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable batching of multiple queries inside interactive transactions (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/25571\"\u003eprisma/prisma#25571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing JSON value deserialization for JSONB parameter fields (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29182\"\u003eprisma/prisma#29182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply result extensions correctly for nested and fluent relations (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29218\"\u003eprisma/prisma#29218\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow missing config datasource URL and validate only when needed (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5777\"\u003eprisma/prisma-engines#5777\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDriver Adapters\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003e@​prisma/adapter-ppg\u003c/code\u003e\u003c/strong\u003e: Handle null values in type parsers for nullable columns (\u003ca href=\"https://redirect.github.com/prisma/prisma/pull/29192\"\u003eprisma/prisma#29192\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePrisma Schema Language\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport \u003ccode\u003ewhere\u003c/code\u003e argument on field-level \u003ccode\u003e@unique\u003c/code\u003e for partial indexes (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5774\"\u003eprisma/prisma-engines#5774\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd object expression and object member support to schema reformatter (\u003ca href=\"https://redirect.github.com/prisma/prisma-engines/pull/5776\"\u003eprisma/prisma-engines#5776\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🙏 Huge thanks to our community\u003c/h2\u003e\n\u003cp\u003eMany of the fixes in this release were contributed by our amazing community members. We're grateful for your continued support and contributions that help make Prisma better for everyone!\u003c/p\u003e\n\u003ch2\u003e7.4.0\u003c/h2\u003e\n\u003cp\u003eToday, we are excited to share the \u003ccode\u003e7.4.0\u003c/code\u003e stable release 🎉\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/prisma/prisma/commit/ac2bed13bdda11b63205fe3eb31ea62363f03f03\"\u003e\u003ccode\u003eac2bed1\u003c/code\u003e\u003c/a\u003e chore: port fixes for 7.4.2 (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29270\"\u003e#29270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/533e22aa500fa87d6ac254b28f54a4446a1616c1\"\u003e\u003ccode\u003e533e22a\u003c/code\u003e\u003c/a\u003e chore: port fixes to 7.4 patch branch (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29222\"\u003e#29222\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/7060f68a8a279d9c27e3a75b90341285024d9dcd\"\u003e\u003ccode\u003e7060f68\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-20.ab56fe763f921d033a6c195e7ddeb3e255bdb...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/91a24a9fb0b892938dfb6c121f604c68973a1ecb\"\u003e\u003ccode\u003e91a24a9\u003c/code\u003e\u003c/a\u003e feat: query plan caching (\u003ca href=\"https://github.com/prisma/prisma/tree/HEAD/packages/client/issues/29038\"\u003e#29038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/b49d4465c82833368b2d7dcdf328cb54811ccd11\"\u003e\u003ccode\u003eb49d446\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-18.2997580c8cb38878f73e100453e7b27119e8f...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/3c999359fcf28744fe82d4ce467f0fd3620a1dc9\"\u003e\u003ccode\u003e3c99935\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-17.57b675f79cd26fbf702d70f9a13d2b7b2fad9...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/e7504d758000984622b80aaef2f10c9e85e19866\"\u003e\u003ccode\u003ee7504d7\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-16.d0314091cdd30494eefc61d346f8c09aca20d...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/1e6c91c0ae3a61e09bda528af06c19ffce7e5687\"\u003e\u003ccode\u003e1e6c91c\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-15.6129681d45ea4510d3372dd5b28f6b8927584...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/e1bfd22dd00451c02ee1b46747613a4f85e983e8\"\u003e\u003ccode\u003ee1bfd22\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-13.e876f7aec6b9be3e5147d061ed521ec45a845...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/prisma/prisma/commit/12ca9698ce83f8a36a98e78ae337646b50964151\"\u003e\u003ccode\u003e12ca969\u003c/code\u003e\u003c/a\u003e chore(deps): update engines to 7.4.0-12.aa5ee090ba89988f1dce71be263f4bcd9519b...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/prisma/prisma/commits/7.4.2/packages/client\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for \u003ccode\u003e@​prisma/client\u003c/code\u003e since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dotenv` from 16.6.1 to 17.3.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md\"\u003edotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.3.0...v17.3.1\"\u003e17.3.1\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix as2 example command in README and update spanish README\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.4...v17.3.0\"\u003e17.3.0\u003c/a\u003e (2026-02-12)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new README section on dotenv’s approach to the agentic future.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.3...v17.2.4\"\u003e17.2.4\u003c/a\u003e (2026-02-05)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMake \u003ccode\u003eDotenvPopulateInput\u003c/code\u003e accept \u003ccode\u003eNodeJS.ProcessEnv\u003c/code\u003e type (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/915\"\u003e#915\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eGive back to dotenv by checking out my newest project \u003ca href=\"https://github.com/vestauth/vestauth\"\u003evestauth\u003c/a\u003e. It is auth for agents. Thank you for using my software.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.2...v17.2.3\"\u003e17.2.3\u003c/a\u003e (2025-09-29)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFixed typescript error definition (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/912\"\u003e#912\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.1...v17.2.2\"\u003e17.2.2\u003c/a\u003e (2025-09-02)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e🙏 A big thank you to new sponsor \u003ca href=\"https://tuple.app/dotenv\"\u003eTuple.app\u003c/a\u003e - \u003cem\u003ethe premier screen sharing app for developers on macOS and Windows.\u003c/em\u003e Go check them out. It's wonderful and generous of them to give back to open source by sponsoring dotenv. Give them some love back.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.2.0...v17.2.1\"\u003e17.2.1\u003c/a\u003e (2025-07-24)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix clickable tip links by removing parentheses (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/897\"\u003e#897\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/motdotla/dotenv/compare/v17.1.0...v17.2.0\"\u003e17.2.0\u003c/a\u003e (2025-07-09)\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOptionally specify \u003ccode\u003eDOTENV_CONFIG_QUIET=true\u003c/code\u003e in your environment or \u003ccode\u003e.env\u003c/code\u003e file to quiet the runtime log (\u003ca href=\"https://redirect.github.com/motdotla/dotenv/pull/889\"\u003e#889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJust like dotenv any \u003ccode\u003eDOTENV_CONFIG_\u003c/code\u003e environment variables take precedence over any code set options like \u003ccode\u003e({quiet: false})\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"ini\"\u003e\u003ccode\u003e# .env\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/motdotla/dotenv/commit/7bc16a41c9efd4cf4ab8a4614d0ace7fd240b27b\"\u003e\u003ccode\u003e7bc16a4\u003c/code\u003e\u003c/a\u003e 17.3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/27303fd56321a166d698f0482e0f4d0c51e51c1e\"\u003e\u003ccode\u003e27303fd\u003c/code\u003e\u003c/a\u003e update README-es\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6379eb2cae43c27656df8d93509b2c14366811ec\"\u003e\u003ccode\u003e6379eb2\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/b6d7339fd085a290669af8e601331c13b4dd2920\"\u003e\u003ccode\u003eb6d7339\u003c/code\u003e\u003c/a\u003e fix spelling\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/5febe352d4dd499bfaa73de808a56bf03a268b6b\"\u003e\u003ccode\u003e5febe35\u003c/code\u003e\u003c/a\u003e 17.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/f61f3832c438078fc5d6552f59fac0c0205eca98\"\u003e\u003ccode\u003ef61f383\u003c/code\u003e\u003c/a\u003e changelog 🪵\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/dec94ad828acba99e3a8570ecf12a1081f9c189c\"\u003e\u003ccode\u003edec94ad\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/485695052c82c26024fbb8568babb0770756dd06\"\u003e\u003ccode\u003e4856950\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/6351887077957c5ee74c3528bccbf5512b184b2e\"\u003e\u003ccode\u003e6351887\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/motdotla/dotenv/commit/23bd017381f1ab5e4fcdeaebe2e134aaef644a4c\"\u003e\u003ccode\u003e23bd017\u003c/code\u003e\u003c/a\u003e update README\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/motdotla/dotenv/compare/v16.6.1...v17.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express` from 4.22.1 to 5.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/releases\"\u003eexpress's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!IMPORTANT]\u003cbr /\u003e\nThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cul\u003e\n\u003cli\u003eRelease: 5.2.1 by \u003ca href=\"https://github.com/UlisesGascon\"\u003e\u003ccode\u003e@​UlisesGascon\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6933\"\u003eexpressjs/express#6933\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/expressjs/express/compare/v5.2.0...v5.2.1\"\u003ehttps://github.com/expressjs/express/compare/v5.2.0...v5.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev5.2.0\u003c/h2\u003e\n\u003ch2\u003eImportant: Security\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.11 to 3.28.13 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6429\"\u003eexpressjs/express#6429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRefactor: simplify \u003ccode\u003eacceptsLanguages\u003c/code\u003e implementation using spread operator by \u003ca href=\"https://github.com/Ayoub-Mabrouk\"\u003e\u003ccode\u003e@​Ayoub-Mabrouk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6137\"\u003eexpressjs/express#6137\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eincreased code coverage of utils.js file by \u003ca href=\"https://github.com/ashish3011\"\u003e\u003ccode\u003e@​ashish3011\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6386\"\u003eexpressjs/express#6386\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: remove duplicate word by \u003ca href=\"https://github.com/dufucun\"\u003e\u003ccode\u003e@​dufucun\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6456\"\u003eexpressjs/express#6456\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.13 to 3.28.16 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6498\"\u003eexpressjs/express#6498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/setup-node from 4.3.0 to 4.4.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6497\"\u003eexpressjs/express#6497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump actions/download-artifact from 4.2.1 to 4.3.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6496\"\u003eexpressjs/express#6496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: add node.js 24 to test matrix by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6504\"\u003eexpressjs/express#6504\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: update codeql config by \u003ca href=\"https://github.com/Phillip9587\"\u003e\u003ccode\u003e@​Phillip9587\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6488\"\u003eexpressjs/express#6488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: wider range for query test skip by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6512\"\u003eexpressjs/express#6512\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typos in test by \u003ca href=\"https://github.com/noritaka1166\"\u003e\u003ccode\u003e@​noritaka1166\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6535\"\u003eexpressjs/express#6535\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: disable credential persistence for checkout actions by \u003ca href=\"https://github.com/mertssmnoglu\"\u003e\u003ccode\u003e@​mertssmnoglu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6522\"\u003eexpressjs/express#6522\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: allow manual triggering of workflow by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6515\"\u003eexpressjs/express#6515\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003etest: add coverage for app.listen() variants by \u003ca href=\"https://github.com/kgarg1\"\u003e\u003ccode\u003e@​kgarg1\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6476\"\u003eexpressjs/express#6476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move documentation and charters to the discussions and .github … by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6427\"\u003eexpressjs/express#6427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.16 to 3.28.18 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6549\"\u003eexpressjs/express#6549\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6548\"\u003eexpressjs/express#6548\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: enforce explicit \u003ccode\u003eBuffer\u003c/code\u003e import and add lint rule by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6525\"\u003eexpressjs/express#6525\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: use node protocol for querystring by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6520\"\u003eexpressjs/express#6520\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: fix typo by \u003ca href=\"https://github.com/mountdisk\"\u003e\u003ccode\u003e@​mountdisk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6609\"\u003eexpressjs/express#6609\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.28.18 to 3.29.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6618\"\u003eexpressjs/express#6618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eadd deprecation warnings for redirect arguments undefined by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6405\"\u003eexpressjs/express#6405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci: run CI when the markdown changes by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6632\"\u003eexpressjs/express#6632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: fix CONTRIBUTING link by \u003ca href=\"https://github.com/jonchurch\"\u003e\u003ccode\u003e@​jonchurch\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6653\"\u003eexpressjs/express#6653\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update contributing guidelines and code of conduct links by \u003ca href=\"https://github.com/ShubhamOulkar\"\u003e\u003ccode\u003e@​ShubhamOulkar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6601\"\u003eexpressjs/express#6601\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump morgan from 1.10.0 to 1.10.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6679\"\u003eexpressjs/express#6679\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps-dev): bump cookie-session from 2.1.0 to 2.1.1 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6678\"\u003eexpressjs/express#6678\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elint: add --fix flag to automatic fix linting issue by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6644\"\u003eexpressjs/express#6644\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: ignore yarn.lock file and update example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6588\"\u003eexpressjs/express#6588\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003elib: use req.socket over deprecated req.connection by \u003ca href=\"https://github.com/bjohansebas\"\u003e\u003ccode\u003e@​bjohansebas\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6705\"\u003eexpressjs/express#6705\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: update express app example by \u003ca href=\"https://github.com/shivarm\"\u003e\u003ccode\u003e@​shivarm\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6718\"\u003eexpressjs/express#6718\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebuild(deps): bump github/codeql-action from 3.29.2 to 3.29.5 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6675\"\u003eexpressjs/express#6675\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove history.md from being packaged on publish by \u003ca href=\"https://github.com/sheplu\"\u003e\u003ccode\u003e@​sheplu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/expressjs/express/pull/6780\"\u003eexpressjs/express#6780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/expressjs/express/blob/master/History.md\"\u003eexpress's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.2.1 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eRevert security fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThe prior release (5.2.0) included an erroneous breaking change related to the extended query parser. There is no actual security vulnerability associated with this behavior (CVE-2024-51999 has been rejected). The change has been fully reverted in this release.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.2.0 / 2025-12-01\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eSecurity fix for \u003ca href=\"https://www.cve.org/CVERecord?id=CVE-2024-51999\"\u003eCVE-2024-51999\u003c/a\u003e (\u003ca href=\"https://github.com/expressjs/express/security/advisories/GHSA-pj86-cfqh-vqx6\"\u003eGHSA-pj86-cfqh-vqx6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.1\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eA deprecation warning was added when using \u003ccode\u003eres.redirect\u003c/code\u003e with undefined arguments, Express now emits a warning to help detect calls that pass undefined as the status or URL and make them easier to fix.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.1.0 / 2025-03-31\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eUint8Array\u003c/code\u003e in \u003ccode\u003eres.send()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for ETag option in \u003ccode\u003eres.sendFile()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for multiple links with the same rel in \u003ccode\u003eres.links()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd funding field to package.json\u003c/li\u003e\n\u003cli\u003eperf: use loop for acceptParams\u003c/li\u003e\n\u003cli\u003erefactor: prefix built-in node module imports\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esetprototypeof\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003esafe-buffer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003eutils-merge\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003emethods\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: remove \u003ccode\u003edepd\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003edebug@^4.4.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003ebody-parser@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003erouter@^2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003econtent-type@^1.0.5\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003efinalhandler@^2.1.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eqs@^6.14.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003eserver-static@2.2.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003edeps: \u003ccode\u003etype-is@2.0.1\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.1 / 2024-10-08\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003ecookie\u003c/code\u003e semver lock to address \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2024-47764\"\u003eCVE-2024-47764\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e5.0.0 / 2024-09-10\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003eremove:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003epath-is-absolute\u003c/code\u003e dependency - use \u003ccode\u003epath.isAbsolute\u003c/code\u003e instead\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003ebreaking:\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eres.status()\u003c/code\u003e accepts only integers, and input must be greater than 99 and less than 1000\n\u003cul\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eRangeError: Invalid status code: ${code}. Status code must be greater than 99 and less than 1000.\u003c/code\u003e for inputs outside this range\u003c/li\u003e\n\u003cli\u003ewill throw a \u003ccode\u003eTypeError: Invalid status code: ${code}. Status code must be an integer.\u003c/code\u003e for non integer inputs\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003edeps: send@1.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/dbac741a49a5a64336b70c06e85c2e2706e36336\"\u003e\u003ccode\u003edbac741\u003c/code\u003e\u003c/a\u003e 5.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/697547cde621d8b0a47b4fff6e98b29337f8c980\"\u003e\u003ccode\u003e697547c\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;sec: security patch for CVE-2024-51999\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/4007ad103ba29f6426b2ec9eccfb1ceb792682a8\"\u003e\u003ccode\u003e4007ad1\u003c/code\u003e\u003c/a\u003e Release: 5.2.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6920\"\u003e#6920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/2f64f68c37c64ae333e41ff38032d21860f22255\"\u003e\u003ccode\u003e2f64f68\u003c/code\u003e\u003c/a\u003e sec: security patch for CVE-2024-51999\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/ed0ba3f1dc905d6b62eabf23bd383abcae4901ba\"\u003e\u003ccode\u003eed0ba3f\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6928\"\u003e#6928\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/8eace4603cb2547608578a4fbb259dc984216f71\"\u003e\u003ccode\u003e8eace46\u003c/code\u003e\u003c/a\u003e build(deps): bump github/codeql-action from 4.31.2 to 4.31.6 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6929\"\u003e#6929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/30bae810279b2ea162bed5b14ce6c35a110a87f5\"\u003e\u003ccode\u003e30bae81\u003c/code\u003e\u003c/a\u003e build(deps): bump coverallsapp/github-action from 2.3.6 to 2.3.7 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6930\"\u003e#6930\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/758d4355d45322b4c8cd347ebcefbf3b154c7e7f\"\u003e\u003ccode\u003e758d435\u003c/code\u003e\u003c/a\u003e deps: body-parser@^2.2.1 (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6922\"\u003e#6922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/77bcd5274a87047e5b3fe2f17f6c342db3909c53\"\u003e\u003ccode\u003e77bcd52\u003c/code\u003e\u003c/a\u003e docs: update emeritus triagers (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6890\"\u003e#6890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/expressjs/express/commit/f33caf1f89a028f0ea98ff5a156a68e65a2eabdd\"\u003e\u003ccode\u003ef33caf1\u003c/code\u003e\u003c/a\u003e Nominate to \u003ca href=\"https://github.com/efekrskl\"\u003e\u003ccode\u003e@​efekrskl\u003c/code\u003e\u003c/a\u003e for triage team (\u003ca href=\"https://redirect.github.com/expressjs/express/issues/6888\"\u003e#6888\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/expressjs/express/compare/v4.22.1...v5.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `@types/express` from 4.17.25 to 5.0.6\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/express\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `express-rate-limit` from 7.5.1 to 8.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/releases\"\u003eexpress-rate-limit's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev8.3.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.2.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.1.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.1\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003ev8.0.0\u003c/h2\u003e\n\u003cp\u003eYou can view the changelog \u003ca href=\"https://express-rate-limit.mintlify.app/reference/changelog\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/9c90752747e169904c44ea1b1bc61a636b9594db\"\u003e\u003ccode\u003e9c90752\u003c/code\u003e\u003c/a\u003e ci: setup oidc connect with npm for automatatic publish\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/e4477fabff4030274bbad571be8e00d87879a663\"\u003e\u003ccode\u003ee4477fa\u003c/code\u003e\u003c/a\u003e 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/06d73405db2c00b22332c5ac278b6bd1c82ebfbc\"\u003e\u003ccode\u003e06d7340\u003c/code\u003e\u003c/a\u003e docs: add changelog for 8.3.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/14e53888cdfd1b9798faf5b634c4206409e27fc4\"\u003e\u003ccode\u003e14e5388\u003c/code\u003e\u003c/a\u003e fix: handle ipv4 mapped to ipv6 (ghsa-46wh-pxpv-q5gq)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/2767a954932d5811a66c786824980b0075d6e27a\"\u003e\u003ccode\u003e2767a95\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group across 1 directory w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/f400c7fdb73c217b791bf0c5da2f51a6cb6fc41b\"\u003e\u003ccode\u003ef400c7f\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group with 2 updates (\u003ca href=\"https://redirect.github.com/express-rate-limit/express-rate-limit/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/4e4884c45b41faf47f342234a44965cd5419eb4a\"\u003e\u003ccode\u003e4e4884c\u003c/code\u003e\u003c/a\u003e chore(deps-dev): bump the development-dependencies group across 1 directory w...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/fadbccbf3732ebc9e08056ddbad39530a6391345\"\u003e\u003ccode\u003efadbccb\u003c/code\u003e\u003c/a\u003e formatting\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/7b57b955990edbfcbfd28bb0db10510b0a32e947\"\u003e\u003ccode\u003e7b57b95\u003c/code\u003e\u003c/a\u003e biome migration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/commit/88a1f7f7912b7883a20facab674d778c7d020fb9\"\u003e\u003ccode\u003e88a1f7f\u003c/code\u003e\u003c/a\u003e docs: typo fix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/express-rate-limit/express-rate-limit/compare/v7.5.1...v8.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/~gamemaker1\"\u003egamemaker1\u003c/a\u003e, a new releaser for express-rate-limit since your current version.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eInstall script changes\u003c/summary\u003e\n\u003cp\u003eThis version modifies \u003ccode\u003eprepare\u003c/code\u003e script that runs during installation. Review the package contents before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eAttestation changes\u003c/summary\u003e\n\u003cp\u003eThis version has no provenance attestation, while the previous version (7.5.1) was attested. Review the \u003ca href=\"https://www.npmjs.com/package/express-rate-limit?activeTab=versions\"\u003epackage versions\u003c/a\u003e before updating.\u003c/p\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `node-cron` from 3.0.3 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/merencia/node-cron/releases\"\u003enode-cron's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eadd option recoverMissedExecutions in readme by \u003ca href=\"https://github.com/theusmoreira\"\u003e\u003ccode\u003e@​theusmoreira\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/332\"\u003enode-cron/node-cron#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: migrate to es6 and add how to get tasks in node-cron by \u003ca href=\"https://github.com/linder3hs\"\u003e\u003ccode\u003e@​linder3hs\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/398\"\u003enode-cron/node-cron#398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ev4 - migrating to typescript by \u003ca href=\"https://github.com/merencia\"\u003e\u003ccode\u003e@​merencia\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/439\"\u003enode-cron/node-cron#439\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/theusmoreira\"\u003e\u003ccode\u003e@​theusmoreira\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/332\"\u003enode-cron/node-cron#332\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/linder3hs\"\u003e\u003ccode\u003e@​linder3hs\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/node-cron/node-cron/pull/398\"\u003enode-cron/node-cron#398\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/node-cron/node-cron/compare/v3.0.3...v4.0.0\"\u003ehttps://github.com/node-cron/node-cron/compare/v3.0.3...v4.0.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/3c31384131ec990d9d9cbc08bee5793f2008c7b2\"\u003e\u003ccode\u003e3c31384\u003c/code\u003e\u003c/a\u003e v4.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/6b27cb144e3c4b2dcc8a575093986d5bb727a987\"\u003e\u003ccode\u003e6b27cb1\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/merencia/node-cron/issues/471\"\u003e#471\u003c/a\u003e from GiovaniGuizzo/fix/windows-path\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/3c52b8785c38af72e9ae4f97570b8e37da966492\"\u003e\u003ccode\u003e3c52b87\u003c/code\u003e\u003c/a\u003e doc: added hack notice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/50bfc82f7520b875f497fee3517755f6545b1727\"\u003e\u003ccode\u003e50bfc82\u003c/code\u003e\u003c/a\u003e fix: fixed interop of ESM and CJS on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/node-cron/node-cron/commit/fb0c835b2d164aebcb40dc7c0c9cb0b93b1dee3c\"\u003e\u003ccode\u003efb0c835\u003c/code\u003e\u003c/a\u003e tests: added tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/no...\n\n_Description has been truncated_","html_url":"https://github.com/solun-pm/solun/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/solun-pm%2Fsolun/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"0.0.28","new_version":"0.0.29","update_type":"patch","path":null,"pr_created_at":"2026-02-22T09:58:42.000Z","version_change":"0.0.28 → 0.0.29","issue":{"uuid":"3974082298","node_id":"PR_kwDOJtNIAM7FcOaX","number":17,"state":"open","title":"chore(deps-dev): bump the development-dependencies group across 1 directory with 4 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-02-22T09:58:42.000Z","updated_at":"2026-02-22T09:58:46.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-dev): bump","group_name":"development-dependencies","update_count":4,"packages":[{"name":"@types/bcryptjs","old_version":"2.4.6","new_version":"3.0.0","repository_url":"https://github.com/DefinitelyTyped/DefinitelyTyped"},{"name":"eslint","old_version":"9.39.3","new_version":"10.0.1","repository_url":"https://github.com/eslint/eslint"},{"name":"react-doctor","old_version":"0.0.28","new_version":"0.0.29","repository_url":"https://github.com/aidenybai/react-doctor"},{"name":"tailwindcss","old_version":"3.4.19","new_version":"4.2.0","repository_url":"https://github.com/tailwindlabs/tailwindcss"}],"path":null,"ecosystem":"npm"},"body":"Bumps the development-dependencies group with 4 updates in the / directory: [@types/bcryptjs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcryptjs), [eslint](https://github.com/eslint/eslint), [react-doctor](https://github.com/aidenybai/react-doctor/tree/HEAD/packages/react-doctor) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss).\n\nUpdates `@types/bcryptjs` from 2.4.6 to 3.0.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bcryptjs\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `eslint` from 9.39.3 to 10.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/eslint/eslint/releases\"\u003eeslint's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev10.0.1\u003c/h2\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20531\"\u003e#20531\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20519\"\u003e#20519\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20496\"\u003e#20496\u003c/a\u003e) (fnx)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003\"\u003e\u003ccode\u003e38b089c\u003c/code\u003e\u003c/a\u003e fix: update dependency \u003ccode\u003e@​eslint/config-array\u003c/code\u003e to ^0.23.1 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20484\"\u003e#20484\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDocumentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20431\"\u003e#20431\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c\"\u003e\u003ccode\u003e6f23076\u003c/code\u003e\u003c/a\u003e docs: toggle nav in no-JS mode (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20476\"\u003e#20476\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9\"\u003e\u003ccode\u003eb69cfb3\u003c/code\u003e\u003c/a\u003e docs: Update README (GitHub Actions Bot)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChores\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20514\"\u003e#20514\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20493\"\u003e#20493\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20494\"\u003e#20494\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1\"\u003e\u003ccode\u003eda7cd0e\u003c/code\u003e\u003c/a\u003e refactor: cleanup error message templates (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20479\"\u003e#20479\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5\"\u003e\u003ccode\u003e84fb885\u003c/code\u003e\u003c/a\u003e chore: package.json update for \u003ccode\u003e@​eslint/js\u003c/code\u003e release (Jenkins)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d\"\u003e\u003ccode\u003e1f66734\u003c/code\u003e\u003c/a\u003e chore: add \u003ccode\u003eeslint\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e of \u003ccode\u003e@eslint/js\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20467\"\u003e#20467\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev10.0.0\u003c/h2\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f9e54f43a5e497cdfa179338b431093245cb787b\"\u003e\u003ccode\u003ef9e54f4\u003c/code\u003e\u003c/a\u003e feat!: estimate rule-tester failure location (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20420\"\u003e#20420\u003c/a\u003e) (ST-DDT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a176319d8ade1a7d9b2d7fb8f038f55a2662325f\"\u003e\u003ccode\u003ea176319\u003c/code\u003e\u003c/a\u003e feat!: replace \u003ccode\u003echalk\u003c/code\u003e with \u003ccode\u003estyleText\u003c/code\u003e and add \u003ccode\u003ecolor\u003c/code\u003e to \u003ccode\u003eResultsMeta\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20227\"\u003e#20227\u003c/a\u003e) (루밀LuMir)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c7046e6c1e03c4ca0eee4888a1f2eba4c6454f84\"\u003e\u003ccode\u003ec7046e6\u003c/code\u003e\u003c/a\u003e feat!: enable JSX reference tracking (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20152\"\u003e#20152\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/fa31a608901684fbcd9906d1907e66561d16e5aa\"\u003e\u003ccode\u003efa31a60\u003c/code\u003e\u003c/a\u003e feat!: add \u003ccode\u003ename\u003c/code\u003e to configs (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20015\"\u003e#20015\u003c/a\u003e) (Kirk Waiblinger)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/3383e7ec9028166cafc8ea7986c2f7498d0049f0\"\u003e\u003ccode\u003e3383e7e\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eSourceCode\u003c/code\u003e methods (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20137\"\u003e#20137\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/501abd0e916a35554c58b7c0365537f1fa3880ce\"\u003e\u003ccode\u003e501abd0\u003c/code\u003e\u003c/a\u003e feat!: update dependency minimatch to v10 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20246\"\u003e#20246\u003c/a\u003e) (renovate[bot])\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ca4d3b40085de47561f89656a2207d09946ed45e\"\u003e\u003ccode\u003eca4d3b4\u003c/code\u003e\u003c/a\u003e fix!: stricter rule tester assertions for valid test cases (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20125\"\u003e#20125\u003c/a\u003e) (唯然)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/96512a66c86402fb0538cdcb6cd30b9073f6bf3b\"\u003e\u003ccode\u003e96512a6\u003c/code\u003e\u003c/a\u003e fix!: Remove deprecated rule context methods (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20086\"\u003e#20086\u003c/a\u003e) (Nicholas C. Zakas)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c69fdacdb2e886b9d965568a397aa8220db3fe90\"\u003e\u003ccode\u003ec69fdac\u003c/code\u003e\u003c/a\u003e feat!: remove eslintrc support (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20037\"\u003e#20037\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/208b5cc34a8374ff81412b5bec2e0800eebfbd04\"\u003e\u003ccode\u003e208b5cc\u003c/code\u003e\u003c/a\u003e feat!: Use \u003ccode\u003eScopeManager#addGlobals()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20132\"\u003e#20132\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a2ee188ea7a38a0c6155f3d39e2b00e1d0f36e14\"\u003e\u003ccode\u003ea2ee188\u003c/code\u003e\u003c/a\u003e fix!: add \u003ccode\u003euniqueItems: true\u003c/code\u003e in \u003ccode\u003eno-invalid-regexp\u003c/code\u003e option (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20155\"\u003e#20155\u003c/a\u003e) (Tanuj Kanti)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/a89059dbf2832d417dd493ee81483227ec44e4ab\"\u003e\u003ccode\u003ea89059d\u003c/code\u003e\u003c/a\u003e feat!: Program range span entire source text (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20133\"\u003e#20133\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/39a6424373d915fa9de0d7b0caba9a4dc3da9b53\"\u003e\u003ccode\u003e39a6424\u003c/code\u003e\u003c/a\u003e fix!: assert 'text' is a string across all RuleFixer methods (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20082\"\u003e#20082\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f28fbf846244e043c92b355b224d121b06140b44\"\u003e\u003ccode\u003ef28fbf8\u003c/code\u003e\u003c/a\u003e fix!: Deprecate \u003ccode\u003e\u0026quot;always\u0026quot;\u003c/code\u003e and \u003ccode\u003e\u0026quot;as-needed\u0026quot;\u003c/code\u003e options of the \u003ccode\u003eradix\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20223\"\u003e#20223\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/aa3fb2b233e929b37220be940575f42c280e0b98\"\u003e\u003ccode\u003eaa3fb2b\u003c/code\u003e\u003c/a\u003e fix!: tighten \u003ccode\u003efunc-names\u003c/code\u003e schema (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20119\"\u003e#20119\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f6c0ed0311dcfee853367d5068c765d066e6b756\"\u003e\u003ccode\u003ef6c0ed0\u003c/code\u003e\u003c/a\u003e feat!: report \u003ccode\u003eeslint-env\u003c/code\u003e comments as errors (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20128\"\u003e#20128\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4bf739fb533e59f7f0a66b65f7bc80be0f37d8db\"\u003e\u003ccode\u003e4bf739f\u003c/code\u003e\u003c/a\u003e fix!: remove deprecated \u003ccode\u003eLintMessage#nodeType\u003c/code\u003e and \u003ccode\u003eTestCaseError#type\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20096\"\u003e#20096\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/523c076866400670fb2192a3f55dbf7ad3469247\"\u003e\u003ccode\u003e523c076\u003c/code\u003e\u003c/a\u003e feat!: drop support for jiti \u0026lt; 2.2.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20016\"\u003e#20016\u003c/a\u003e) (michael faith)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/454a292c95f34dad232411ddac06408e6383bb64\"\u003e\u003ccode\u003e454a292\u003c/code\u003e\u003c/a\u003e feat!: update \u003ccode\u003eeslint:recommended\u003c/code\u003e configuration (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20210\"\u003e#20210\u003c/a\u003e) (Pixel998)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/4f880ee02992e1bf0e96ebaba679985e2d1295f1\"\u003e\u003ccode\u003e4f880ee\u003c/code\u003e\u003c/a\u003e feat!: remove \u003ccode\u003ev10_*\u003c/code\u003e and inactive \u003ccode\u003eunstable_*\u003c/code\u003e flags (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20225\"\u003e#20225\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/f18115c363a4ac7671a4c7f30ee13d57ebba330f\"\u003e\u003ccode\u003ef18115c\u003c/code\u003e\u003c/a\u003e feat!: \u003ccode\u003eno-shadow-restricted-names\u003c/code\u003e report \u003ccode\u003eglobalThis\u003c/code\u003e by default (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20027\"\u003e#20027\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c6358c31fbd3937b92d89be2618ffdf5a774604e\"\u003e\u003ccode\u003ec6358c3\u003c/code\u003e\u003c/a\u003e feat!: Require Node.js \u003ccode\u003e^20.19.0 || ^22.13.0 || \u0026gt;=24\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20160\"\u003e#20160\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eFeatures\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/bff9091927811497dbf066b0e3b85ecb37d43822\"\u003e\u003ccode\u003ebff9091\u003c/code\u003e\u003c/a\u003e feat: handle \u003ccode\u003eArray.fromAsync\u003c/code\u003e in \u003ccode\u003earray-callback-return\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20457\"\u003e#20457\u003c/a\u003e) (Francesco Trotta)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/290c594bb50c439fb71bc75521ee5360daa8c222\"\u003e\u003ccode\u003e290c594\u003c/code\u003e\u003c/a\u003e feat: add \u003ccode\u003eself\u003c/code\u003e to \u003ccode\u003eno-implied-eval\u003c/code\u003e rule (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20468\"\u003e#20468\u003c/a\u003e) (sethamus)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/43677de07ebd6e14bfac40a46ad749ba783c45f2\"\u003e\u003ccode\u003e43677de\u003c/code\u003e\u003c/a\u003e feat: fix handling of function and class expression names in \u003ccode\u003eno-shadow\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20432\"\u003e#20432\u003c/a\u003e) (Milos Djermanovic)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/0bd54976080936ce080ee2552d504180105593b4\"\u003e\u003ccode\u003e0bd5497\u003c/code\u003e\u003c/a\u003e 10.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/ddb80ef7c78adbc3fb784e33f500d321e84ab51e\"\u003e\u003ccode\u003eddb80ef\u003c/code\u003e\u003c/a\u003e Build: changelog update for 10.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e\"\u003e\u003ccode\u003ec87d5bd\u003c/code\u003e\u003c/a\u003e fix: update eslint (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20531\"\u003e#20531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020\"\u003e\u003ccode\u003ee5c281f\u003c/code\u003e\u003c/a\u003e chore: updates for v9.39.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a\"\u003e\u003ccode\u003ed841001\u003c/code\u003e\u003c/a\u003e fix: update \u003ccode\u003eminimatch\u003c/code\u003e to \u003ccode\u003e10.2.1\u003c/code\u003e to address security vulnerabilities (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20519\"\u003e#20519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc\"\u003e\u003ccode\u003e8c3832a\u003c/code\u003e\u003c/a\u003e chore: update \u003ccode\u003e@​typescript-eslint/parser\u003c/code\u003e to ^8.56.0 (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20514\"\u003e#20514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a\"\u003e\u003ccode\u003e5b3dbce\u003c/code\u003e\u003c/a\u003e docs: add AI acknowledgement section to templates (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20431\"\u003e#20431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78\"\u003e\u003ccode\u003e04c2147\u003c/code\u003e\u003c/a\u003e fix: update error message for unused suppressions (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20496\"\u003e#20496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94\"\u003e\u003ccode\u003e8330d23\u003c/code\u003e\u003c/a\u003e test: add tests for config-api (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20493\"\u003e#20493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc\"\u003e\u003ccode\u003e37d6e91\u003c/code\u003e\u003c/a\u003e chore: remove eslint v10 prereleases from eslint-config-eslint deps (\u003ca href=\"https://redirect.github.com/eslint/eslint/issues/20494\"\u003e#20494\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/eslint/eslint/compare/v9.39.3...v10.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `react-doctor` from 0.0.28 to 0.0.29\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/millionco/react-doctor/blob/main/packages/react-doctor/CHANGELOG.md\"\u003ereact-doctor's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.29\u003c/h2\u003e\n\u003ch3\u003ePatch Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/aidenybai/react-doctor/commits/HEAD/packages/react-doctor\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tailwindcss` from 3.4.19 to 4.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/releases\"\u003etailwindcss's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.2.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd mauve, olive, mist, and taupe color palettes to the default theme (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e package to run Tailwind CSS as a webpack plugin (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19610\"\u003e#19610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epbs-*\u003c/code\u003e and \u003ccode\u003epbe-*\u003c/code\u003e utilities for \u003ccode\u003epadding-block-start\u003c/code\u003e and \u003ccode\u003epadding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003embs-*\u003c/code\u003e and \u003ccode\u003embe-*\u003c/code\u003e utilities for \u003ccode\u003emargin-block-start\u003c/code\u003e and \u003ccode\u003emargin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-pbs-*\u003c/code\u003e and \u003ccode\u003escroll-pbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-padding-block-start\u003c/code\u003e and \u003ccode\u003escroll-padding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-mbs-*\u003c/code\u003e and \u003ccode\u003escroll-mbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-margin-block-start\u003c/code\u003e and \u003ccode\u003escroll-margin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eborder-bs-*\u003c/code\u003e and \u003ccode\u003eborder-be-*\u003c/code\u003e utilities for \u003ccode\u003eborder-block-start\u003c/code\u003e and \u003ccode\u003eborder-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einline-*\u003c/code\u003e, \u003ccode\u003emin-inline-*\u003c/code\u003e, \u003ccode\u003emax-inline-*\u003c/code\u003e utilities for \u003ccode\u003einline-size\u003c/code\u003e, \u003ccode\u003emin-inline-size\u003c/code\u003e, and \u003ccode\u003emax-inline-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eblock-*\u003c/code\u003e, \u003ccode\u003emin-block-*\u003c/code\u003e, \u003ccode\u003emax-block-*\u003c/code\u003e utilities for \u003ccode\u003eblock-size\u003c/code\u003e, \u003ccode\u003emin-block-size\u003c/code\u003e, and \u003ccode\u003emax-block-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einset-s-*\u003c/code\u003e, \u003ccode\u003einset-e-*\u003c/code\u003e, \u003ccode\u003einset-bs-*\u003c/code\u003e, \u003ccode\u003einset-be-*\u003c/code\u003e utilities for \u003ccode\u003einset-inline-start\u003c/code\u003e, \u003ccode\u003einset-inline-end\u003c/code\u003e, \u003ccode\u003einset-block-start\u003c/code\u003e, and \u003ccode\u003einset-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efont-features-*\u003c/code\u003e utility for \u003ccode\u003efont-feature-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19615\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent double \u003ccode\u003e@supports\u003c/code\u003e wrapper for \u003ccode\u003ecolor-mix\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19450\"\u003e#19450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow whitespace around \u003ccode\u003e@source inline()\u003c/code\u003e argument (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19461\"\u003e#19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit comment when source maps are saved to files when using \u003ccode\u003e@tailwindcss/cli\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19447\"\u003e#19447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect utilities containing capital letters followed by numbers (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19465\"\u003e#19465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix class extraction for Rails' strict locals (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19525\"\u003e#19525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlign \u003ccode\u003e@utility\u003c/code\u003e name validation with Oxide scanner rules (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19524\"\u003e#19524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite loop when using \u003ccode\u003e@variant\u003c/code\u003e inside \u003ccode\u003e@custom-variant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiples of \u003ccode\u003e.25\u003c/code\u003e in \u003ccode\u003easpect-*\u003c/code\u003e fractions (e.g. \u003ccode\u003easpect-8.5/11\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19688\"\u003e#19688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure changes to external files listed via \u003ccode\u003e@source\u003c/code\u003e trigger a full page reload when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19670\"\u003e#19670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance of Oxide scanner in bigger projects by reducing file system walks (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19632\"\u003e#19632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure import aliases in Astro v5 work without crashing when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/issues/19677\"\u003e#19677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow escape characters in \u003ccode\u003e@utility\u003c/code\u003e names to improve support with formatters such as Biome (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19626\"\u003e#19626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect canonicalization results when canonicalizing multiple times (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e.jj\u003c/code\u003e to default ignored content directories (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19687\"\u003e#19687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003estart-*\u003c/code\u003e and \u003ccode\u003eend-*\u003c/code\u003e utilities in favor of \u003ccode\u003einset-s-*\u003c/code\u003e and \u003ccode\u003einset-e-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev4.1.18\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure validation of \u003ccode\u003esource(…)\u003c/code\u003e happens relative to the file it is in (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19274\"\u003e#19274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude filename and line numbers in CSS parse errors (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19282\"\u003e#19282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip comments in Ruby files when checking for class names (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over arbitrary property utilities with a top-level \u003ccode\u003e!\u003c/code\u003e in the value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport environment API in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18970\"\u003e#18970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve case of theme keys from JS configs and plugins (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19337\"\u003e#19337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrite source maps correctly on the CLI when using \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19373\"\u003e#19373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle special defaults (like \u003ccode\u003eringColor.DEFAULT\u003c/code\u003e) in JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19348\"\u003e#19348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove backwards compatibility for \u003ccode\u003econtent\u003c/code\u003e theme key from JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19381\"\u003e#19381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade: Handle \u003ccode\u003efuture\u003c/code\u003e and \u003ccode\u003eexperimental\u003c/code\u003e config keys (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19344\"\u003e#19344\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTry to canonicalize any arbitrary utility to a bare value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19379\"\u003e#19379\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md\"\u003etailwindcss's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[4.2.0] - 2026-02-18\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd mauve, olive, mist, and taupe color palettes to the default theme (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e@tailwindcss/webpack\u003c/code\u003e package to run Tailwind CSS as a webpack plugin (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19610\"\u003e#19610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epbs-*\u003c/code\u003e and \u003ccode\u003epbe-*\u003c/code\u003e utilities for \u003ccode\u003epadding-block-start\u003c/code\u003e and \u003ccode\u003epadding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003embs-*\u003c/code\u003e and \u003ccode\u003embe-*\u003c/code\u003e utilities for \u003ccode\u003emargin-block-start\u003c/code\u003e and \u003ccode\u003emargin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-pbs-*\u003c/code\u003e and \u003ccode\u003escroll-pbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-padding-block-start\u003c/code\u003e and \u003ccode\u003escroll-padding-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003escroll-mbs-*\u003c/code\u003e and \u003ccode\u003escroll-mbe-*\u003c/code\u003e utilities for \u003ccode\u003escroll-margin-block-start\u003c/code\u003e and \u003ccode\u003escroll-margin-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eborder-bs-*\u003c/code\u003e and \u003ccode\u003eborder-be-*\u003c/code\u003e utilities for \u003ccode\u003eborder-block-start\u003c/code\u003e and \u003ccode\u003eborder-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19601\"\u003e#19601\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einline-*\u003c/code\u003e, \u003ccode\u003emin-inline-*\u003c/code\u003e, \u003ccode\u003emax-inline-*\u003c/code\u003e utilities for \u003ccode\u003einline-size\u003c/code\u003e, \u003ccode\u003emin-inline-size\u003c/code\u003e, and \u003ccode\u003emax-inline-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eblock-*\u003c/code\u003e, \u003ccode\u003emin-block-*\u003c/code\u003e, \u003ccode\u003emax-block-*\u003c/code\u003e utilities for \u003ccode\u003eblock-size\u003c/code\u003e, \u003ccode\u003emin-block-size\u003c/code\u003e, and \u003ccode\u003emax-block-size\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19612\"\u003e#19612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003einset-s-*\u003c/code\u003e, \u003ccode\u003einset-e-*\u003c/code\u003e, \u003ccode\u003einset-bs-*\u003c/code\u003e, \u003ccode\u003einset-be-*\u003c/code\u003e utilities for \u003ccode\u003einset-inline-start\u003c/code\u003e, \u003ccode\u003einset-inline-end\u003c/code\u003e, \u003ccode\u003einset-block-start\u003c/code\u003e, and \u003ccode\u003einset-block-end\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efont-features-*\u003c/code\u003e utility for \u003ccode\u003efont-feature-settings\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19615\"\u003e#19623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent double \u003ccode\u003e@supports\u003c/code\u003e wrapper for \u003ccode\u003ecolor-mix\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19450\"\u003e#19450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow whitespace around \u003ccode\u003e@source inline()\u003c/code\u003e argument (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19461\"\u003e#19461\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit comment when source maps are saved to files when using \u003ccode\u003e@tailwindcss/cli\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19447\"\u003e#19447\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect utilities containing capital letters followed by numbers (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19465\"\u003e#19465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix class extraction for Rails' strict locals (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19525\"\u003e#19525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlign \u003ccode\u003e@utility\u003c/code\u003e name validation with Oxide scanner rules (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19524\"\u003e#19524\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite loop when using \u003ccode\u003e@variant\u003c/code\u003e inside \u003ccode\u003e@custom-variant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19633\"\u003e#19633\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow multiples of \u003ccode\u003e.25\u003c/code\u003e in \u003ccode\u003easpect-*\u003c/code\u003e fractions (e.g. \u003ccode\u003easpect-8.5/11\u003c/code\u003e) (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19688\"\u003e#19688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure changes to external files listed via \u003ccode\u003e@source\u003c/code\u003e trigger a full page reload when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19670\"\u003e#19670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance of Oxide scanner in bigger projects by reducing file system walks (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19632\"\u003e#19632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure import aliases in Astro v5 work without crashing when using \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/issues/19677\"\u003e#19677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow escape characters in \u003ccode\u003e@utility\u003c/code\u003e names to improve support with formatters such as Biome (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19626\"\u003e#19626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect canonicalization results when canonicalizing multiple times (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003e.jj\u003c/code\u003e to default ignored content directories (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19687\"\u003e#19687\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003estart-*\u003c/code\u003e and \u003ccode\u003eend-*\u003c/code\u003e utilities in favor of \u003ccode\u003einset-s-*\u003c/code\u003e and \u003ccode\u003einset-e-*\u003c/code\u003e utilities (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19613\"\u003e#19613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[4.1.18] - 2025-12-11\u003c/h2\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure validation of \u003ccode\u003esource(…)\u003c/code\u003e happens relative to the file it is in (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19274\"\u003e#19274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude filename and line numbers in CSS parse errors (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19282\"\u003e#19282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip comments in Ruby files when checking for class names (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip over arbitrary property utilities with a top-level \u003ccode\u003e!\u003c/code\u003e in the value (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19243\"\u003e#19243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport environment API in \u003ccode\u003e@tailwindcss/vite\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/18970\"\u003e#18970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreserve case of theme keys from JS configs and plugins (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19337\"\u003e#19337\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWrite source maps correctly on the CLI when using \u003ccode\u003e--watch\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19373\"\u003e#19373\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle special defaults (like \u003ccode\u003eringColor.DEFAULT\u003c/code\u003e) in JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19348\"\u003e#19348\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove backwards compatibility for \u003ccode\u003econtent\u003c/code\u003e theme key from JS configs (\u003ca href=\"https://redirect.github.com/tailwindlabs/tailwindcss/pull/19381\"\u003e#19381\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1b16411919457ee47d38910fd07e134e9765eb4c\"\u003e\u003ccode\u003e1b16411\u003c/code\u003e\u003c/a\u003e 4.2.0 (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19695\"\u003e#19695\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/6118f4f6a796ece218d145b626770e3fb9163d91\"\u003e\u003ccode\u003e6118f4f\u003c/code\u003e\u003c/a\u003e Fix/misc docs and tests (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19652\"\u003e#19652\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/5a4a7eba3a3db4f4a834f37a3e37624fe9c4daa7\"\u003e\u003ccode\u003e5a4a7eb\u003c/code\u003e\u003c/a\u003e fix(canonicalize): prevent collapse cache pollution across calls (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19675\"\u003e#19675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d0a56128721b7be01703b7879056f38443239fc5\"\u003e\u003ccode\u003ed0a5612\u003c/code\u003e\u003c/a\u003e Add mauve, olive, mist, and taupe color palettes (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19627\"\u003e#19627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/d9fff9f5956433e362dc231ca16dcd77497def76\"\u003e\u003ccode\u003ed9fff9f\u003c/code\u003e\u003c/a\u003e docs: update package README CI badge to main (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19692\"\u003e#19692\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/ed52d3e6c9c20ca2a1c23d57d346ac399ebe9400\"\u003e\u003ccode\u003eed52d3e\u003c/code\u003e\u003c/a\u003e feat: handle backslash in \u003ccode\u003e@utility\u003c/code\u003e name (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19626\"\u003e#19626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/6eb3b324340f451a14389b7ed97f43a264ad4487\"\u003e\u003ccode\u003e6eb3b32\u003c/code\u003e\u003c/a\u003e Allow multiples of \u003ccode\u003e.25\u003c/code\u003e in \u003ccode\u003easpect-*\u003c/code\u003e fractions (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19688\"\u003e#19688\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/8ed67bf5510d8435d2be766b25245abe15b3bcef\"\u003e\u003ccode\u003e8ed67bf\u003c/code\u003e\u003c/a\u003e Fix Tailwind CSS package README GitHub links (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19644\"\u003e#19644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/1638f35c3a2bfcd65a7b3b0f8626927a76bcf685\"\u003e\u003ccode\u003e1638f35\u003c/code\u003e\u003c/a\u003e Bump dependencies (\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/19608\"\u003e#19608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commit/df96ea5eba94c801a08879cf95837b8a2b317b42\"\u003e\u003ccode\u003edf96ea5\u003c/code\u003e\u003c/a\u003e Fix infinite loop when using \u003ccode\u003e@variant\u003c/code\u003e inside \u003ccode\u003e@custom-variant\u003c/code\u003e that points ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tailwindlabs/tailwindcss/commits/v4.2.0/packages/tailwindcss\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eMaintainer changes\u003c/summary\u003e\n\u003cp\u003eThis version was pushed to npm by [GitHub Actions](\u003ca href=\"https://www.npmjs.com/~GitHub\"\u003ehttps://www.npmjs.com/~GitHub\u003c/a\u003e Actions), a new releaser for tailwindcss since your current version.\u003c/p\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/gr8monk3ys/InfiniStar/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gr8monk3ys%2FInfiniStar/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}}]}